$2.95.
WE DON'T PLAY GAMES
X-I2 +
A SERIOUS COMPUTER
IN A DESKTOP PACKAGE
Multiprocessor Technology - Combination of 8.16 and 32 bit types
1.0 Megabyte Memory - Insures no limitation on programs
"Winchester" Disk System- Fast response, large storage capacity
UniFlex* Operating System -The standard of comparison
Hardware Floating Point - Unmatched speed in a small system
Up to Three Terminals - Instant expansion
'Trademark of Technical Systems Consultants
SOUTHWEST TECHNICAL PRODUCTS CORPORATION
219 W. RHAPSODY
SAN ANTONIO, TEXAS 78216 (512) 344 0241
Only Microware's OS-9
Operating System Covers
the Entire 68000 Spectrum
MICROWARE'S OS-9
UNIX
ROM-BASED
CONTROL
SYSTEMS
FLOPPY-DISK BASED
PERSONAL
COMPUTERS
DJSKBASEO
INDUSTRIAL
SYSTEMS
SMALL-SCALE
TIMESHARING
SYSTEMS
SCALE
TfMESHARING
SYSTEMS
HAND-HELD
COMPUTERS
HARDWARE/SOFTWARE
DEVELOPMENT SYSTEMS
SINGLE USER
MULTITASKING SYSTEMS
MEDIUM SCALE
TIMESHARING SYSTEMS
SMALL SYSTEMS
LARGE SYSTEMS
Is complicated software and expensive hardware
keeping you back from Unix? Look into OS-9. the
operating system from Microwa/e that gives 68000 systems
d Unix-style environment with much less overhead and
complexity.
OS 9 is versatile, inexpensive, and delivers outstanding
performance on any si^e system. The OS-9 executive Is
much smaller and tar more ef-
ficient than Unix because it's
written in tdst compact as-
sembly language, making it
ideal tor critical real-time ap-
plications. OS-9 can run on
a broad range of 8 to 32 bit
systems based on the 68000
or 6809 Family MPUs rrom
ROM based industrial con*
troliers up to large multiuser
systems
OS-9 S OUTSTANDING
C COMPILER IS
YOUR BRIDGE TO UNIX
Microwares C compiler U\ h
nology is another OS-9 advantage. TTie compiler produces
exhemely fast, compact, and ROMable code. You can easily
develop and port system or application software back and
forth to standard Unix systems. Cross-compiler versions for
Key OS 9 Features At A Glance
Compact (16X) ROMable executive written in assembly
language
User "shell" and complete utility set written in C
C-source code level compatibility with Unii
Full Multitasking/multiuser capabilities
Modular design - eitremely easy to adapt, modify, or
eipand
Unix-type tree structured file system
Rugged "crash-proof file structure with lecord locking
Works well with floppy disk or ROM-based systems
Uses hardware or software memory management
High performance C, Pascal, Basic and Cobol compilers
VAX and PDP-11 make coordinated Unix/OS-9 software
development a pleasure.
SUPPORT FOR MODULAR SOFTWARE
- AN OS-9 EXCLUSIVE
Comprehensive support for modular software puts OS 9
a generation ahead of other operating systems. It multiplies
Progtammer productivity and memory efficiency. Applica-
tion software can be built
trom individually testable
software modules including
standard library" modules,
The modular structure lets
you customize and recon-
figure OS-9 for specific hard-
ware easily and quickly,
A SYSTEM WITH
A PROVEN
TRACK RECORD
Once an underground
classic. OS 9 is now a solid
hit. Since 1980 OS -9 has
been ported to over a hun-
dred 6809 and 68000
systems under license to some ot the biggest names in the
business. OS-9 has been imbedded in numerous consumer,
industrial, and OEM products, and is supported by many
independent software suppliers.
OS-9
MICROWARE SYSTEMS CORPORATION
1866 NW 114th Street
Des Moines, Iowa 50322
Phone 515-224-1929
Telex 910-520-2535
Micro ware Japan, Ltd
3-8-9 Baraki, K hikawa City
Chlba 272-#l, japan
Phone 0473(28)4493
Telex 299*3122
! • " ■ i
'66' Micro Journal
Portions of the text for 69 MICRO JOURNAL was prepared
using the following furnished hard/software.
OtWOTERS-MARDIMre
Southwest Technical Products
219 W. Rhapsody
San Antonio. Texas 78216
S09-5/8DMTdlsk-C0Si-8212W-Sprlnt 3 Printer
GIMIX Inc.
1337 West 37th Place
Chicago, IL 60609 '
Super Me1nframe-0S9-FLEX-Assorted Hardware
EDITTRS^KVO HBI££S(FS
Technical Systems Consultants, Inc.
tn Providence Road
Chapef HHI, NC 27514
FLEX-Ed I tor -Processor
reat Plains Computer Company, Inc.
P0 Box 916
Idaho F«lls. ID 83401
STYLO-MallMerge
Don Williams Sr.
Larry E. Will lams
Too E« Wll I lams
Robert <Bob) Nay
Editorial Staff
Pubf Isher
Executive Editor
Production Editor
Color Editor
Adelnlsfratlve Staff
Mary Robertson
Penny Wl I J lams
Michael Westfal I
Christine Kocher
Ron Anderson
Norm Cam*)
Peter Olbble
Dr. Theo Elbert
William E. Fisher
Dr. E.M. Pass
Office Manager
Subscriptions
Shlpplng/Rec*
Accounting
Contributing Edllors
Speclel Technical Projects
Clay Abrams K6AWP
Tom Hunt
CONTENTS
Vol.Yl I, Issue II February 85
FLEX USER Notes 7 Anderson
0S9 USER Notes 9 Dfbbte
C USER Notes 12 pass
68000 USER Notes 15 Lucldo
Software Tools In PASCAL 17 Boll Inger
Turbo 24 Groves
Single Board Computer 26 DHW
MICROKEV 4500 27 Dale
Loca I 29 Armstrong
TSC BASIC To Microsoft BASIC 34 Pass
Bit Bucket 42
Classified Advertising 52
MICRO
JOURNN.
Send All Correspondence To:
Computer Publishing Center
68 MIOV) JOURNAL
5900 Cassandra Smith
P0 Box 849
Hixson, TN 37343
Ph (615)842-4600 TELEX 558 414 PVT eTH
Copyrighted T984 by
Computer Publishing Inc. (CPI)
68 r Micro Journal is published 12 times a year by
Computer Publishing Inc. Second Class Postage
Paid ISSN 0194-5025 at Hixson, Tenn- and
additional entries. Postmaster: send Form 3579 to
68' Micro Journal, PO Box 849. Hixson, Tennessee,
SUBSCRIPTION RATES
USA
1-Year S24.50 2-Years $42-50 3-Years $64*50
FOREIGN
See Page 60
Submitted for Publication
Ite
Articles submitted for publication should be
accompanied by the authors full rvas, address* date and
telephone number. It is preferred that articles be
submitted on either 5 or 8 Inch diskette in TSC Editor
format or STYLO format. All diskettes will be returned.
The following TSC Text Processor commands ONLY should
be used (due to our proportional processor): v sp space,
.pp paragraph, »fl fill and -nf no MIL Also please do
not format within the text with multiple spaces* The
rest we will enter at time of editing.
STYLO commands are all acceptable except the ,pg page
command, we print edited text files In contlnous text.
All articles submitted on diskettes should be In TSC
FLEX" format, either FLEX2 6800, or FLEX9 6809 any ver-
sion.
If articles are submitted on paper they should be on
white 8X11 bond or better grade paper. No hand written
articles (hand written or drawn art accepted). All
paper submitted articles will be photo reproduced.
Jhls requires that they be typed or produced with a
dark ribbon (no blue), single spaced and lype font no
smaller than 'elite 1 or 12 pitch. Typed text should be
approximately 7 Inches wide (will be reduced to column
width of 3 1/2 Inches). Please use a dark rlbfconl
All letters to the editor should also comply with the
above and bear a signature. Letters of 'gripes 1 as well
as 'praise* 9re solicited. We attempt to publish all
letters to the editor verbatim, however, we reserve the
right to reject any submission for lack of 'good taste 1 .
We reserve the right to define what constitutes 'good
teste*.
Advertising: Commercial advertisers please contact the
68 Micro Journal advertising department for current
rate sheet and requirements.
Classified: All classified must be non-commercial.
Maximum 20 words per classified ad. Those consisting of
more than 20 words should be figured at .35 cents per
word. 20 words or less $7.50 minimum, one time, paid In
advance. No classified ads accepted by telephone.
'68' Micro Journal
GIMIX STATE OF THE ART 6809 SYSTEMS FOR THE SERIOUS USER.
GIMIX has 19MB or high performance
47MB Winchester Drive Systems and/or
Floppy Disk Drive Systems.
For the ultimate in performance, the Unique GMX 6809 CPUIH
using either OS^GMXID or UniFL£X GMXIII (available shortly),
gives protection to the system and other users from crashes
caused by deiective user pnDgioms. e.g. Dunng program
development, a programmer who crashes goes back to the
shell or the debugger, while the other users are not even
aware anything occurred.
The intelligent serial I/O piocB^or boards signifi-
cantly reduce system overhead by handling rou-
tine VO func-
tions, there-
by freeing up
the host CPU for
running user
programs. This
speeds up system per-
formance and allows
multiple teiminals to be
used at 19. 2K baud.
9ASIC-09 and OS-9 are trademarks d M+croware Systems Conx and MOTOROLA, inc
FLEX and UniREX art t/atterrertcs of Technical Systems Consu forts. Inc
GIMIX. GK0SI GMX. CLASSY CHASSIS, are trademarks of GIMIX, Inc
Gimix
inc.
For the user who appreciates the need for a
bus stiuctured system using STATIC RAM
and powered by a ferro resonant constant
voltage transformer.
GIMIX has single user systems that can run
both FLEX and OS-9 or Multi user systems for
use with UniFLEX or OS-9.
GIMIX versions of OS9 and UniFLEX in-
clude maintenance and support by Micro-
ware (90 days) and TSC (1 year). Mainte-
nance and support after this period
are available at extra
cost.
(NOTE: this support and
maintenance is only
for use with approved
G1MK hardware)
/ GIMIX 6809 systems
/ support live predominant
/ operating systems;
OS-9 GMX III,
OS-9 GMX II,
UniFLEX,
OS-9 GMX I,
FLEX
and a wide vanety ol languages
and development software
Whatever your application software
development, instrumentation, process
control educational, scientific or business,
whether you need single or multi-user «
capabilities, GIMIX has hardware and the |
operating systems to get the job done 3
reliably 8
Please phone or wnte ii you need further information «
1337 WEST 37th PLACE • CHICAGO. ILLINOIS 60609 • C312> 927-5510 • TWX 910-221-4055
19*3 GIMIX Inc
Get
the
most
out
of
BASI
The OFFICIAL BASIC09 TOUR
GUIDE is skillfully written in a friend-
ly and easy-to-read style. Just
perfect for those new to computers
and to BASIC09. It's also a valuable
reference book for programmers,
engineers, students and hobbyists,
providing an in-depth look at
BASIC09 plus an overview of the
OS-9 operating system. Compre-
hensive reference sections on
BASIC09 and OS-9 commands are
also included.
The book "maps 1 ' out your route
through the Mercedes of Basics . . .
BASIC09 and puts you in the driv-
er's seat in no time. Fasten your
seatbelt. sit back and enjoy the ride
to perfecting your programming
skills.
MICROWARE . . .
The OFFICIAL BASIC09 TOUR
GUIDE comes from the people who
wrote BASIC09. As the leader in
6609 system software, we at
MICROWARE care about our users
and want to help you get the most
from our products.
It's Easy to Order.
Phone orders are accepted from
MasterCard or VISA cardholders or
for COD shipment. You can also
order by mail using the coupon
below. Quantity discounts are
available to educational organiza-
tions and dealers. For further infor-
mation contact Microware.
Speeiatkls hi >y$iim software for 68'family microprocessors since 1977.
OS 9 and BAS1C09 are trademarks of Mcroware and Motorola
Microware Systems Corporation
1866 NW. 114th Street
Des Moines. Iowa 50322
Telephone 515/224-1929
Tele* 910-5202535
.copies of the
Please send
BasJcOg Tour Guide book at $18 95
each. Add $2.00 for UPS shipping in
the U.S. or $600 for overseas air mail
per book. Iowa residents add 4%
sales lax.
Name
Add res
^Zip-
City
State
D I have enclosed a check
D Charge to my bank card:
MasterCard □ VISA
Card Number
Expi ration^
□
'68' Micro JournaJ
V,
%J ^ r^
e o/,
°*»l.
FLEX ™ USER NOTES
THE 6800-6809 BOOK
By: Ronald W. Anderson
As published in 68 MICRO JOURNAL'"
The publishers of 68 MICRO JOURNAL are proud to announce the publication of Ron Anderson's FLEX USER NOTES, in
book form. This popular monthly column has been a regular feature in 68 MICRO JOURNAL SINCE 1 979. It has earned the
respect of thousands of 68 MICRO JOURNAL readers over the years. In fact. Ron's column has been described as the
Bible' for 68XX users, by some of the worlds leading microprocessor professionals. Now all his columns are being
published, in whole, as the most needed and popular 68XX book available. Over the years Ron's column has been one of
the most popular in 68 MICRO JOURNAL. And of course 68 MICRO JOURNAL is the most popular 68XX magazine
published
As a SPECIAL BONUS all the source listing in the book will be available on disk for the low price of: FLEX '" format only — 5
$12.95 — 8" $16.95 plus $2.50 shipping and handling, if ordered with the book. If ordered separately the price of the disks
will be: 5" $17 95 — 8" $19.95 plus $2.50 shipping and handling
Listed below are a few of the TEXT files included in the book and on diskette.
All TEXT files in the book are on the disks.
LOGO.C1
MEMOVE.C1
DUMP,C1
SUBTEST.C1
TERMENTC2
M.C2
PRINTC3
MOOEMC2
SCIPKGC1
U.C4
PRINT.C4
SET.C5
SETBAS1C5
File load program to offset memory — ASM PIC
Memory move program — ASM PIC
Printer dump program — uses LOGO — ASM PIC
Simulation of 6800 code to 6809, show differences — ASM
Modem input to disk (or other port input to disk) — ASM
Output a file to modem (or another port) — ASM
Parallel (enhanced) printer driver — ASM
TTL output to CRT and modem (or other port) — ASM
Scientific math routines — PASCAL
Mini-monitor, disk resident, many useful functions — ASM
Parallel printer driver, without PFLAG — ASM
Set printer modes — ASM
Set printer modes — A-BASlC
(And many more)
' for early delivery
'Over 30 TEXT files included in ASM (assembler) — PASCAL — PIC (position independent code) TSC BASIC-C, etc.
NOTE: C1..C2, etc. ^Chapter 1. Chapter 2. etc.
This will be a limited run and we cannot guarantee that supplies will last long. Order
Foreign Orders Add $4,50 S/H
Softcover — Large Format
Book only: $7.95 + $2.50 S/rV
With disk: 5" $20.90 + $2.50 S/H j
With disk: 8" $22.90 + $2.50 S/H
See your local S50 dealer/bookstore or order direct from
Computer Publishing Inc.
5900 Cassandra Smith Rd.
Hixson, TN 37343
TELEX 551 414 PVT BTH (615)842-4601
&Q
68' Micro Journal
'FLEX is a iraoamarV ol Technical Systems Consultants
SOFTWARE DEVELOPERS!
YOU'VE JUST BEEN GIVEN THE BEST REASON YET
TO GET OUR 68000/ UNIX® DEVELOPMENT SYSTEM
THE VAR/68fT®SEJWES
VK-5XW20 (List price £l^*eCT ) $5,000.
Includes: Terminal, 20 Mb hard disk,
512K RAM 8 ports and REGULUS®
VK-5XW20T20 (List price &±2&m.) $6*500.
Includes: all of above, plus 20 Mb
tape streamer
RESELLERS!
Even more attractive specials are available to qualified resellers!
Smoke Signal has been designing, developing and manufacturing
microcomputers based on the Motorola family of processors for
the past six years. The VAR/68K is the most recent addition to our
family of multi-user computers.
VAR/68K is a registered trademark of Smoke Signal
REGULUS is a registered trademark of AJcyon Corp.
UNIX Is a registered trademark of Bell Laboratories
Due to the extremely low prices being
offered, we can only accept cash orC.O.D.
orders, and we must limit purchases to
one per customer. This is a limited time
offer
TO OBTAIN YOUR VAR/68K
AT THESE LOW PRICES. CONTACT:
SMOKE SIGNAL
31336 VIACOLINAS
WESTLAKE VILLAGE. CA 913 2
(818) 889-9340 / Telex 910-494-4965
68' Micfo JoumaJ
Flex User Notes
Ronald w. Anderson
3540 Sturbrldge Court
Ann Arbor, Ml 48105
An Editorial of Sorts
You know, IN* been giving a lot of thought lately to the
subject of progress. Just what Is the most effective
hardware to do an Industrial control or Instrumentation
Job* We all know that new things cost a great deal at
first. Therefore It Is reasonable that If I don't need the
extra capabilities of new processors, I would be foolish to
pay for them. On the other hand. It Is possible to argue
that "I have a working design. Why change It?* to the
point of becoming very obsolescent. For example, there
are still 6800 processors being buUt Into Instruments. If
they have all the capabilities, and the software Is done
once and for all, that Is all Just fine. Why not keep
building the Instrument or whatever Just as It Is now.
Now here Is where I think the fallacy lies- If the product
requires a great deal of software support, perhaps a
different program for each customer, maybe the designers
are Just In a rut. Think for a moment about the superior
Instruction set of the 6809 as compared to the 6800. Any
reasonably good assembler programmer can generate the
same program for the 6809 with 15f to 30X fewer lines of
Instructions, t believe that the difficult/ of debugging
any program Increases faster than the number of lines of
code. Perhaps a good estimate would be that the debug
time Is about proportional to the square of the size of
the program. By that estimate, a program 10% smaller wltl
take half as long to debug. Also, It will take less time to
write and to list. Another factor to be considered is
that the 6800 and 6809 are vecv similar and minimal circuit
changes are required to make the conversion. Hardly any
other component changes need be made, so that the cost of
switching Is minimal, and the cost per unit is also
Increased very nominally. I therefore argue that anyone
who has a 6800 based product that requires program
adaptation or rewriting should seriously consider
switching.
WTren It cornea to the use of the 68000 however, (again my
argument Is limited to machine control and Instrumentation
applications), the situation Is somewhat different. The
68000 costs several times as much as the 6809, and It
requires more and faster hardware to support It. Bus
speeds are higher, making noise Immunity lower In
Industrial environments. In general the premium paid for
using "the latest" Is not small. I've been saying for a
couple of years now, that as soon as I had an application
the 6809 couldn't handle, I would use a 68000. I'm still
waiting for that application, and J still have plenty of room
to Improve my 6809 handling of applications. Presently, my
designs are still running the 6809 at I MHz. 1 can do
everything twice as fast by plugging In a 68809, an 8 WU
crystal, and the B version of the serial and parallel
Interface chips. Memory is already capable of 2 M4z.
I'm not saying that tomorrow won't bring me a problem
that requires the extra speed of an optimized 68000
assembler eode solution. Just that such a problem has not
yet come forth. 1 think many designers don't try very
hard to squeeze some extra performance out of their
present hardware. I can relate tales of Improving
performance (execution time) by using better software, by
a factor of about 200, and that on a 6800 system. I think
the early 6809 software that Just echoed the 6800 code
didn't take advantage of the 6809. In the past few years.
Improvements of a couple orders of magnitude have taken
place In the perfonnence of the object code generated by
6809 compilers. (Language Is Irrelevant to this
discussion). The newest of the compiler Implementations
are still showing single digit percentage gains In
performance, but the gigantic Improvements have pretty
much taken place.
Benchmarks run on the 68000 early on, were very
disappointing. It usually turned out that a 2 MHz 6809
could match or exceed the performance of the 68000 on the
same benchmark. However, 1 think the same thing has
happened with the 68000 as happened early with the 6809.
Programmers did not Immediately learn to take full
advantage of the 68000 Instruction set. More recent
results Indicate that the 68000 can do things a good deal
faster than the 6809 If Its resources are used wisely,
(such as the use of registers to hold variables). Yes, the
68000 Is coming of age.
Now before several hundred of you start writing me
letters about my stupldMy, let me repeat In no uncertain
terms that I AM NOT TALKING ABOUT ALL APPLICATIONS HERE.
I don't know how to shout my point In writing, but If I did,
I would. No, I am NOT talking about trying to misapply a
6809 to a 12 user super office computer, a CA0 system, the
control of a complex robot or a multi-axis CNC machine tool
application. I am ONLY talking about applications In
reasonably simple controls and Instrumentation. 1 am
talking about "canned software" In a Stand Alone system
with very limited or no user progremmabllHy beyond the
Input of "set up" parameters. I'm talking about what I call
a "dedicated computer" application. In such applications,
there Is generally NO mass storage device. There MAY be
some battery backed up RAM to allow the system to remitter
certain constants and limits while power Is off. Generally
the program Is In ROM.
[ hope this will have sufficiently narrowed down the
applications about which I am speaking. 1 think most of
the differences of opinions that have been aired In this
column come about because we each tend to see something
entirely different when someone says "Computer". We see a
computer In the configuration In which we use It
ourselves. Many of us are not even aware of all the
applications that have beeoffe feasible both technically and
economically because of the existence of the
microprocessor and the ever tumbling prices for Its
peripheral devices. This difference (n perception of what
a computer Is, Is after all partly because a computer Is a
VERY general purpose tool. My little development system Is
nothing at all without software. At the moment It Is a
very nice text editor - processor. In a little while. It will
be a software development system as I translate some of
the software modules that I use frequently Into a new
language that I am studying. At other times It Is a design
tool that lets me explore alternate ways of solving a
problem, at times through simulation techniques.
Sometimes It Is a tool to do a plodding search of several
thousand possibilities to find the best solution to a
specific problem. I have several friends who own
computers, and for them, the word brings forth entirely
different visions of what the computer Is. Por one, It Is
a data collector for experiments In Chemistry. Por
another It Is a data management system for student
grades, a word processor for the preparation of class
notes and quizes, writing of technical papers, books,
letters, etc* Your concept of what a computer Is, may
not agree with any of those I've mentioned here. Perhaps
for you, computer means a system to handle you company's
payroll and accounting records. If you work for an airline,
your Idea of a computer Is that It can store and Instantly
recall vast amounts of Information about flights,
passengers, seating arrangements, prices, timetables,
etc. I think the point Is made, so I will slop here.
We Engineers have to consider several factors In
designing a system. One of the major factors Is cost.
The latest, best, and newest technology, the "state of the
art" things are always very expensive at first. Once the
bugs In the production of these new Items are worked out,
and the design costs more or less paid for, the price
nearly always takes a large drop. Somewhere along the way,
the price begins to level off, end that Is usually the point
where It becomes economically feasible to use the new
technology. Suppose I am using an EPROM that stores 4K
bytes. It costs S4 In some quentHy. A new device stores
16K bytes. It costs $64 In somewhat smaller quantity.
68* MtoO Journal
First of all, If my requirements for storage are around 4K
or 8K, the new part may never become more economical* On
the other hand, tf f need 16K or 32K, the new part will
become economically feasible before the price per K of
storage Js the same as the old device- f need only 1/4 as
many of these devices- Handling Is reduced* Programming
time Is reduced because I don't have to handle four
devices. Just one. Printed circuit board space ts
reduced, resulting In savings* The board only needs one
socket, probably with a few more pins than the original
device for which I need four sockets to get the same
storage.
I've tried always, to work down at that point where the
price of new devices starts 1o level off after the Initial
high price phase. I think that maximizes the value of the
design. Of course, with the rapid changes In technology
over the past decade or so, today's maximum value design Is
not tomorrow's. A designer must keep up with the latest
Items constantly, and a design can't stay static for very
many years I n most cases. If It does, you can be sure that
the competitors will soon have something that does more,
Is simpler, and costs less- Enough said on this subject.
Computer Bargains
A few words for you out there with the limited budgets
(that certainly Includes most or all of us). Recently, I've
acquired a couple of used SS'50 systems for very
reasonable prices. I was fortunate to find a couple of
sellers who realize that an original SWTPc AK memory board
Is not worth anything. <You would need 14 of them to have
56K of memory). An 8K board Is not useless, but Is
certainly of limited value. Old 6800 processor boards such
as the MP-A and later ^'A2 are certainly of little value to
most of us who want 6809 systems- And lastly, a pair of old
35 track single sided disk drives with a disk controller
that won't run double denslly, no moffer how little they
have been used, and how reliable they are, are not worth a
great deal, since now anyone who reads the ads In the
magazines can pick up a double sided double density 40
track drive for less than $150. One of these will hold Just
about 370K bytes of data. Though the old 35 track drives
cost nearly $1000 for a pair In a box with a power supply,
you can now, with a little Ingenully put two drives and a
power supply together for around $400, and have 700K of
storage- Mow much Is the 35 track single sided 6riv*
worth that holds 92K of data? It can't be worth more then
$50 or $75.
My point Is that these facts are not all bad. If |Ou
want to get Into computing at minimal cost, find someone
with an old SWJPc box containing a 6800 or 6809 processor
board, 32K or more of memory, and a few 1/0 ports, a disk
Interface and a pair of drives, and you can be In business
for a very small Investment. You simply have to realize and
accept the fact that you don't have the latest, fastest,
largest system. Most sellers of these old SWTPc systems
are selling because they are going Into a more modern
computer such as a Macintosh or an IBM PC for the simple
reason that there Is a great deal of software tor these
systems. Such sellers usually are willing to sell their
original software at bargain prices too. I recently picked
up two spreadsheet programs and a database program for
the 6809 as part of a purchase.
As I've said before, the beauty of a ^component system"
or a bus system If you like. Is that It can be upgraded a
step at a time. You can replace those 4K memory boards
with used BK boards one at a time until you have 56K
Installed. You can now buy 64K boards new for around
$200, and reduce the memory board count to one. If you
become affluent later, you can buy a 256X board that takes
less power than some of the old 8K and 16K boards. You
can upgrade disk controllers and drives one at a tine until
you have a very capable system. Meanwhile you can be
learning about computing and software as your system
flrows, and you never have to throw away anything of great
value to go to the "next step up" In your computer.
You say "yes but I can't afford a Terminal!" Just look
around and be patient. I've lately seen e couple of
perfectly good and serviceable terminals for $250 each.
Find someone else who Is upgrading from an old terminal to
something more up to date, and take advantage of his
upgrade to get yourself a terminal. Is there a Junior
college nearby? Schools sometimes upgrade the systems
Installed for student use. Perhaps they have a dozen
terminals for sale and you can be an early customer and get
the pick of the lot for the same price as the worst.
"Gee" you say, that still adds up to lots of money
compared to a Commodore 64 or something like that. Of
course you are right. The point Is that you don't have to
spend all that money at one time, or even In one year. I
suppose I could look at the system I have right here and
conclude that It Is the most expensive electric "typewriter
that I could buy.
In my case, I have made enough on consulting fees over
the years, and on articles that I have written for
magazines Jn the past, to pay for my system a couple times
over. What I have learned through what started out as a
hobby Interest has brought about a Job for me In a highly
paid position doing work that I thoroughly enjoy. If I look
at my computing equipment as an educational Investment,
IVe spent far less than It would cost to go to college for a
couple of years at today's prices. The fact that you ere
reading this Indicates that you have more than a passing
Interest In computers. You didn't buy a Color Computer
and stop at playing games on It. It Is not gathering dust
as a doorstop somewhere In your house. If you find
computing to be exciting, you have some success In writing
programs and/or designing and building computer hardware,
consider a computer an Investment In your future, and work
toward the goal of a career In some area of computing.
Cobol
I recently reviewed Crunch Cobol In this publication.
I'm really glad that I took the approach that I did, and
that I didn't claim to have written an elegant program In
Cobol as the example.
I've Just read the reply from Compusense that
Illustrates a couple of better ways to write that
program In Cobol. As I said In the little review, I had
expected someone to show me that I had done the
program the hard way, and I appreciated the kind words
In that reply. (They didn't even call me stupldll)
Of course, the good solution to the problem Involves
using the REDEFINES feature of Cobol. The folks at
Compusense wrote a letter to '68' Micro Journal (see Ed's
Notes), and I think Don will publish their lesson on Cobol
that shows how to redefine a character In working
storage as an Integer, perform the operation of
converting It and then recover It as a character to go
Into the output string. I won't go Into trying to
describe their program since they do a fine Job of that
In their reply. I also received a letter from Mike Martin
of Weatherford, TX, also a Cobol programmer who
Indicates that the Compusense Implementation "Is a good
deal for a hundred bucks". He also sent me a solution to
the case conversion program that uses the REDEFINES
feature of Cobol. Thanks to both Compusense and Mike
for setting us all straight on one of the most useful
features of Cobol. Mike also Indicates that a very good
book on Cobol Is "A Guide to Structured COBOL With
Efficiency Techniques and Special Algorithms" by Paclflco
A. Urn (Van Nostrand Relnhold Company). Mike goes on to
say that most books on Cobol lean toward the IBM
version, and' that a number of features of Cobol
discussed In these books are not supported by Crunch
Cobol. Since Don will probably print Mike's letter and
program In Its entirety, I won't dwell on this any
further. Thanks 1o both of you for jetting the record
straight.
Long time readers might remei£>er a slmller occurrence
when I first started writing a few programs In l K?'« I
had done a memory dump In Ascll and HEX program In a
couple languages and tried a "C" version. Norm Comma
was quick to show me a better way to write that program
In "C", and I appreciated the lesson. I can say the seme
for the lesson on Cobol from Compusense. While I am too
8
68' Micro JoumaJ
much o Pascal and "C" progremmer to agree that having
only "static" or "global" variables to work with Is better,
I do see a clarity In Cobol - I can readily understand how
a good Cobol programmer would have little trouble
maintaining someone else's code, and I appreciate the
lesson, though I still don't see that "ADD A TO B GIVING
C" Is clearer than C :* A^6;.
Ed's Notes: Gotcha, Ron. Beatcha to the draw-
January 1985 68 Micro Journal, SIT BUCKET section.
DM*
See
file It's making, Make runs the command to build a
new file. The program Is arranged so ft checks each
dependency to see If It should be updated before It
uses It to dec I da whether to update tha final
result.
An example would probably make this much
clearer. Say you have a terminal simulator. It Is
divided Into four modules: Setup, Run, Transfer, and
Print- This would be stated (to my version of Make)
as:
/hO/cmds/termlnol ; Set up. o Run.o Transfer. o Print .o
«cc2 Setup.o Run.o Transfer. o Prlnt.o -f-termlnal
OS9 USER NOTES
By: Peter Dibble
51? Gofer House
Rochester, NY 14620
Automated Updates
This month's column will be relatively sliort.
I have a program 1 want to Include that's longer
than the usual, but I think It's worth sacrificing
soma text for.
I keep mentioning that I've turned Into a
full-time graduate student. The effects ere finally
beginning to show (bleary eyes from no sleep and
lots of staring at books and terminals). I've spent
a lot of time using UNIX. Two program development
tools seem especially useful and much needed In
OS-9. I wish I could write a debugger like D6X and
Include It In this column, but that's beyond me.
Make, however, Is a program I can fake.
Make Is a UNIX program that looks at first like
a version of the shell with a few special features
that make It especially suited to running sequences
of programs that make something. In the simplest
case It Is like packaging a long cc . •• command
line In a command file to save yourself from having
to retype It every time you compile the program.
Once 1 bothered to look Into It 1 discovered that
Make Is much more that a special shell. The most
Important part of Make Is Its ability to understand
dependencies.
A complicated progrem Is composed of many
pieces. There are a number of seperetely compiled
modules with each module requiring one or more
source files* If any of the sources hove been
chenged since their modules were lest compiled, they
need to be recompiled. If eny of the modules hove
been updeted since the progrem wes lest linked, the
module needs to be relinked. If you construct
systems of programs, e modi fleet Ion to one of the
programs may result In regeneration of some
composite files — maybe you'll went to print e new
manual •
Make automates all this. You build e file thet
detel Is the dependencies (prerequisites) for eech
file thet Is genereted es pert of the construction
of the program. It also contelns the command line
that generetes each file. Make checks the
last-modified dete end time on the file It's
generetlng end eech of the files thet It depends on.
If eny of the dependencies ere more recent then the
Thet Is: If eny of Setup.o, Run.o, Trensfer.o or
Prlnt.o hove been updeted since /hO/cmds/termlnel,
run the command line storting with cc2.
Meke el so understends thet the .o files may
need to be updated. The descriptions for them might
be something like:
Setup.o: Setup. e ACIA.Codes.h /hO/defs/OS90efs
Menu.fcbs CursorControl .e
a cc2 Setup. e -o
Run.o: Run.c . ♦/locoldefs/termlnol .h
/hO/defs/stdlo.h
-cc2 Run.c -o
Trensfer.o: Trensfer
-rma transfer -o^Trensfer.o
Prlnt.o: Print. c /hO/defs/stdlo.h
-cc2 Prlnt.c -o
When you run make agelnst this file, It will first
check Setup.o. If eny of the dependencies for
Setup.o (there ere five of them) hove been modified
since Set up. e wes lest assembled Meke will
reessemble It. Then It will check run.o,
trensfer.o, end prlnt.o In the seme way. Fl nelly
make will come to /hO/cmds/t ermine I . If any of Its
dependencies hove been modified since term I ne I wes
lest modified, It will be relinked. This epplles
even If the dependency wes updeted by en earlier
step In this make.
Often the depth of nesting goes beyond two.
You'll be working on a system thet Includes files
thet depend on files thet depend on other files end
so forth. Meke con dee I with eny degree of
complexity. The only limitations are ertlflclel. I
set the constent DEPENDENCIES. You may reset It to
a lerger number If you need to. The C compl ler
generetes the other limitation by choslng e defeult
memory el locetlon. If you went to nest dependencies
very deeply. It would be good to give make some
extra memory. The procedure, resolve, allocates
exfro stack spece for eech level of nesting.
Oocumentetlon
The version of Meke with this column wes
written In Mlcrowere C. I don't think I used eny
strenge feetures so It should be eesy to convert to
other versions of C-
Meke Isn't eny good without e "mekeflle."
You'll heve to write one up for every program (or
system) you went to use Meke with. The convention
Is to put ell the files associated with a program In
e directory by themselves end col t the mekef I le for
thet program "makefile". If you Just run Hake, It
will look for a file called mekeflle In the current
dete directory.
If you don't went to cell your mekeflle
"mekeflle," or you went to keep severel In a
directory, you cen tell Make to use e different nemo
'68* Micro Joume I
for the makefile by putting the name on the command
line:
0S9:make prog.d
would use a file called prog.d as the makefile.
The first llne(s) of the makefile must contain
the dependencies of the highest level file — the
end result of the make — with the command thet
generates the top-level file t^ext* From then on the
files can be specified in any order. First a
dependency line denoted by the name of 1tie file It's
referring to, followed by e colon and the list of
dependencies; then an equal sign and the command
line for that file.
The command lines are restricted to 80
characters , but the dependency lines can be any
length or be several II nas long.
As usuel for programs In this column there Is a
lot that needs Improving In this program, it Is
good enough to be very useful, but there's plenty of
room for bells end whistles. If I still fee]
Interested In it next month, 1 may cook up a fancy
version over Christmas break and see If I can get
Don to sell It for me.
I Spoke Too Soon
Just before the Mlcroware Seminar I heard from
61ml x that they had stopped work on their 68000
board. I was very unhappy about It, but Noped they
night change their mind. Last month I gave up and
groaned about It a little In this column. Just a
few weeks after I sent the column In, I heard that
GlmTx was working on the board again. Now, It's
trve that the board Is being designed to work with
UnlFtex, not 05-9, but at least there Is hope.
Remembering the number of Glmlx CPUs In Mlcrowere's
lab I think there Is good reason to hope for OS-9
support sometime next year, f don't know much about
the board » but from whet I do know combined with my
experience with UNIX, Mm looking forward to showing
my Computer Science friends my micro running about
as fast as their minicomputers.
1 hficUdi <ttfl"io,h>
2 ftiflclult <0lrtct.h>
3 liftdudf <cttti.*>
4 ttrfifff TttK I
3 Metini FALSI
6 H»H«* OCPtmttOES 20
7 static Chor ttitttilf • 'Mitfllo'i
I Fit! «s
9 italic f tract
10 (
U char •fear)
12 zkif flodTiMO);
13 char «ftfM(<*t«ertKrC)OUCUSti
14 iit OCtrj
15 char iCo«ltr«tori
U ) EmtlKPCIKKlESJi
17
11 ititie chir ITiMtSl • (0,0,0,0,0)1
It
20 static ink 6ra#hSiztf
21
22 efear icm i);
21
24 mm larfc, tr%f)
25 t»t ITQCf
26 clor i»«rjn
27 <
21
29 i/|C— | /i trip propM ham ♦/
32
iHartc } 01
»
HrttlHt * iVOvf
34
NtU&>a#ftfr;
a
rtoolvotOt;
36
)
37
38 fci!46ruh(>
J?
i
40
rijittir lot i«0;
41
char <tf
42
43
ifitf • foam l*«kd lit, VI) mm *MU
44
i
43
fprutHftdffr, "1 *M t loot hfli to ukf Ts.UError MU',
4*
PUktfiit, irroolj
47
tut (11,
48
J
49
iHU - uifidl " WHU
50
(
SI
fprintMiUiirr, 'Thi art oo dinetinnt in li\n\ Hikafiltl;
32
txitlllj
S3
J
34
for <8rif hSHf-Ou<0€P£M0»CIE5 It ft •« WILLI r 6rij*$i:t+*l
35
<
56
itntpy'S'apfctBraP^ril.AcdTni/'.SJ:
y
SttfUttd, 8rO*$iit){
tt
SttftwdrafhSntlj
59
SttC«JJ8rai*&iii)f
60
i ■ kmOi
It
1
62
i
U
64 rtMlvtbl
63
lit 0|
66
<
67
ctar daUUJj
61
rtfiitv i t i, llMJI
69
70
HrftracMmMOCiJ.MTiM, 1Tim,5» -01
7!
gitM*t«<6rt*Mit].lM«, Sr«ph[o).«4IiM)|
72
for <i*C, f)M*6LSEf i< 6ra*t)(n).Ktr| »♦♦»
7J
(
74
LI ((I ■ hnf1UMl^ao6|il.0tO«M«KrCil)l >• 0)
73
{
76
rtMlvt(il|
77
ffl.'llafl
78
(
79
OitMAtidYaohCil.llMO, yrtikULnoiU-i;
80
HIitrncviarmhtnMtodlJM.Braphtil.lboriM^t < 0)
81
MafMf
82
J
93
}
84
tlw if fflMj)
85
(
86
QittdaUrBVaihCnl.DMjmdtncyhJ, dotal;
87
iHitnKMfSrMhtol.RodliM, dtti, 5) < 0»
81
fl*8»fr|
81
)
90
>
fl
ifHlOfl
n
<
u
if Mi * flmMl»M*lft>. Contractor)) '• 0)
04
<
f5
ftri'M'ttiorr, 'Ittwri to <rM:\oti\*', i,
H
BrathtoLCMitnctOrt;
07
nitlill
ft
1
n
}
100
rttmi
101
)
102
103
Htummw
104
tW *ij
105
<
106
rojittor nt i|
107
ctiir titl273|
109
109
ftrcff1t«,ol|
10
66 k Micro Journal
Ill) *uniMitf);
HI far <i«0;i'6rapASutjL««J
|12 If leitrc^cu.traaJini.RAfltl ** •!
U3 rttvi(i)?
(14 rttartMlj
115 I
116
117
UB Sttftjttli.iJ
119 char »s;
120 lat i;
I2E (
122 Graollil.llaat » wJloclitrlmUJ • II;
123 •trcpylGrapnCJl.llan*, tl f
124 mitt * kmD) *■ Will It Us '- VII
123 (
124 fprintfdtaorr, 'Colon rtqiind ifttr I«\n", GrjpMil.*a«tl;
127 nit<J>;
128 I
129 rttwo;
13© >
131
132 Stt0tp4.il
(33 int i;
134 (
135 cfcir H;
136 rtguttr lit ;^|
137
139 f - tcmO;
139 fraphhJ.ICtr . #i
140 tfliitid '- «ii) a \h " •') ii ij < oraKKicsn
141 (
142 €rat»CiJ.D«pm4tAcy(Jl - ialloc(itrlci<*»;
143 itrcpy<6rapMiJ.&fptndtncy(.ml 1 a);
144 Sr^htil. OCtr^i
145 i » scaoll;
144 )
147 ratorn;
14B I
149
ISO SttCadli)
191 int ij
152 (
133 c*ar idl);
154
155 ittfftttflf, 80, I) --WU)
154 (
157 fpriatffstitrr, *Ho cotiioi lint lor It\a\ GraphtU.JUMl;
Itt nitlt);
139 J
160 6r*phUJ.Conilmctar « aallocdtrlifittU;
141 itrtpyffiripMil.CoM true tor, s);
112 ri turn;
163 >
144
143 ttitic frit toktolBIl;
116
167 env HctiO
141 C
149 cltr iftr, »li«t|
(70
171 plr • total
172 litlt ■ »tr*80| /t rfigh bound on tot« itnao, •/
173 ttipoltaHOt
174 if((*ptr - gttc<0> » EOF]
175 ntvi Wilf
174
177 /• ■ and i art asocial tokivt. f*ty art rttorntd as fiaglt extractor
171 totm ovtn if tMy havi non-61 art i m aitktr lit*.
179 »/
180 if<<«otr « O !! loptr ** rn
181 ptr**f
1B2 tlu /• nccuaiilatt cfcaractiri tntil a dtliaitar
IN othtfiist,
1B9 H
190 dcliafc)
191 char c;
192 <
193 Mitel Id
194 <
195 cat* '\n':
194 cast * :
197 cjit , :
(99 cam '\8':
199 cast \t*i
200 rtturncTIUEli
201 brtrtj
202 cast '*"i
20$ chi : :
704 ungttclc,fl|
209 rtUrt(TWE)|
204 brut;
207 tfifaultc
208 rtt«ffKF4iJC)i
209 ) /• Ifltf C4M 4/
210 rttom Cf AL3E1 ; /* Htvtr titcuttO ♦/
211 1
212
213 ftipblaftki I) /♦ Rtad fret filar f until Juit bifort a non-
214 dilitittr. t/
715 (
216 rtfiittr char c;
217
218 aftililissijcifc - gctctfU J1 (c ** ',*♦>;
219 ungttclc.fl;
220 riturnj
221 1
222
223
224 tttatfitilftltn, datt) /• put tfct lait-todifiH datt of film in datt •/
/» hit naat ♦/
/♦ Last-oodifitd dtti and titt •/
•/
183 forlptrnj (ptr *> haiU II Mitlitftitr • grtclf llfr ptr^J?
184 *p\r « '\0'| /♦ stal off tht itrinf •/
185 rtto/n toft m |
184 )
117 /♦ Otlia rtttrm TRUE H c it * itliiittf claracUr. fHJi
225 cbar Milan;
224 char dattCSJ;
W (
228 char fdir, im, Hi»d_tfirl), tfiftdjiad;
229 char tfi«^aM[33]| /♦ iatt of dit4 CDMtaUtng iiltn •/
230 Fltf iOlrfilt, tljikfili;
231 ttract dirtnt Wryl /♦ Dirtctory wtry lariat #/
232 int found«fALST|
233 long LSMl /• Logical soctor noaOar •/
234 timet hi Oil Descriptor; /• Filt dttcriptor fortat ♦/
233
234 fin4.di«Hhl«n,lnlrniHl; /• Ettr»ct 4iU naat frot
237 fttalifitf filtrtatt t/
23B Rt ■ find w nO(filM); /t btract filtnan* fro*
239 o^alifitd filt n» •/
240 fiitiait(Ml| /• ctiaaft na to all capt» C-fartat itri
09 ♦/
241 dir ■ hid.dirltilKil; /t Extract dirtctory naat fro* faalifit
i
242 fill nan •/
243
244 ifKOirFilt » Iojot (tfir, 'd')J ** MHl)
245 <
244 fpriatHiMtrr, 'Can't otw dirtctory ti\n', 4ir);
247 mtdJj
248 >
24*
250 /•
252 Starch ttiroo»> tht dirtctory for hltmm no.
252 t/
253 fiinatt{(>o)|
294 rfulilfrtadttfntry, tiztof iutry, h OirFilt) *« U
235 <
254 iflffntrr.dtr^ta* !- \0')
257 (
291 if lei treat laa, Eatry.tfir naotJ ^ OJ
Sf (
240
241
242 1
243 }
244 )
68' M>cto Joornal
11
2*5
26*
2*7
266
2tf
270
:7i
:n
275
274
275
27a
277
27*
279
m
281
32
283
284
TBS
28*
287
281
2W
290
2*1
292
293
m
295
29*
pf ♦/
297
298
299
300
301
302
303
304
306
30*
307
301
309
311
in
312
313
314
315
314
317
318
319
520
321
322
323
m
325
32*
327
328
329
m
331
332
533
334
335
33*
337
331
339
m
541
342
t
fprutftitdirr, 'Is cut bt found tn Ii\n', ai, dirJj
iMtrlJ;
}
/♦
Ctatt thi dirtctflfy *nd gpin lltf dtsk.
fclo*t IlirFililj
ifllfijikrjli • Joptatditfncjw, V*J1 « NUI
IpriitHitdirr, 'Error 2d in ofio fpr li\n\ irr*o, diikrtitt)}
•ntUJ;
)
l3toMfct», Cntry.dir^dr.llf
fkttklQittfilfr LSIK25*, 0>f /• Sttt to fitt ditcrtptor oa ditt V
iftfriidliDntriptor, mtof OHcriitor, 1, OufcFJld) « Mill
<
fprifttffftdfrr, »[ rrQr u in di«k rti4 for lf\i«, f •rroriOiskfil
diitruae)f
nitUJ;
I
fclo«(fijikfUi>f
_itriii<diti, *»«criptor.fd_d«ti, 5)j
nturn;
fizftu«<1) /♦ Snitch i frot 05-9 itring to Citric Mi eaovtrt it to ca
t»*r *tf
noittir diar ♦ptr;
for [ptr - if iptr < 127 II iftr ) 0] ptr**>
♦ptr • totfp«r(«ttr I l27)j
•ptr ■ tovyporffptr I E27)j
ptr**;
•ptr * \0'i
ritufflf
}
di«r ifiatViili) /• out bt cillMl btfori fiH.dir «/
cUr *i|
I
rieLtttr efiif •!«;
iftfloc - ri^nli,'/')) « HAD
ritirn ■;
tl«*
rotorn Joc*J|
}
dar Wind.dirti) /t riturn a directory nut or \ ■ II «oa ca* bt
found in i. ♦/
i
rtanttr cftir •lot;
ifllloc - rmdH(S| VII •« mi)
rttarn Vi
Doc ■ '\0'|
ritare if
)
Hsi.diiKijdiikJ /• dttoriiot Ut dill Mil ■ it m qnm itt fill neat.
H /w dtvtci aim if in til fill n«n, MfUM
tbi tfiak viU tht Oatt dirtctiry on it.
totem ttn Huihfitd fill rum for Ui otvici. •/
<
343
344
345
Ub
J47
348
349
250
351
352
353
154
353
11 •/
35*
357
358
J59
3*0
361
3*2
♦ptr** • • »*♦$
thilittkt '=> '/J tt l« '• '\0')>;
•ptr** a #/<
•ptr • '\0*|
riturnr
1
ititie rhir ti2Cl27]|
cstrcipdj, i2) /• cotpjii chmgi i2 ti C-foraat, all apt ud coopari to
ch*r Ml, »*2j
(
itrep»tti2, s2>;
fisntstUtf);
nturilitrcaslil.trt^
J
"C" User Notes
Edgar H. (8ud) Pass, Ph.D.
14S4 Letta Line
ConytrS, GA 30207
INTRODUCTION
Thi* month's column continues the definition of the
string-hand L ing library started In the previous
column. It provides the text of msny of the shorter
functions, along with explanations of how they work.
STRING -HANDLING IN C
the "b # family of string- hand ling functions allows
arbitrary contents of strings, as the processing is
controlled entirely by the specified length. Note
that the C compiler handles only null- terminated
strings properly, in terms of string constant
definition/ string Input, string output, etc. Thus
length- term ins ted strings must be handled carefully,
or their contents may be either prematurely
terminated by a single 9x00 character or operations
on them nay not terminate properly becauae of the
lack of a terminating 0x00 character.
bcmp(sl, s2/ len) returns the number of bytes
remaining in the strings after any equal bytes
at the beginning of the strings have been
skipped. The function counts down the length
while it performs the coapariaons.
int bcaptsl, s2, len)
char 'si, "s2?
int Jen;
(
while ( — len >• 44
return len+1;
•si** •- •s2**)?
rtf iittr cbar ffL/|
ptr ■ dit*|
beopytsre, dst, len) copies "len** bytes from the
source "arc* to the deetlnation "dst".
beopytsre, dst, len)
char »arc, *dat?
int len;
{
while ( — len >• 0) «det** - «erc**;
)
bfllKdat, len, fill) copies "len* fill characters
to "dst*.
bfilKdst, len, fill)
char "dst;
Ut len;
chai fills
{
while (—len >- 0) «dst** - fill;
I
12
68* Micro Journal
baove(det, ere, l«n) copies "lsn" bytee from the
•cures "arc" to the deatlnation "dat". tt
ditfera from "bcopy" in the ocdac of ita ioucci
and deatlnation argumento.
bmove(dat, arc, Ian)
char "dst * "sre;
int Ian;
<
whila ( — Ian >• 0) "dst** ■ •arc**;
J
b*sro(dst, Ian) coplaa "Ian* 0x99 bytaa to "dat".
bzero(dat, )an)
char a dat;
int Ian;
<
whila ( — Ian >* 0) "dat** • , \0 i ;
I
Tha "jnam" family of atr ing-handl ing functiona allows
arbitrary contanta of strings, aa tha procsssing ia
controllad antiraly by tha apscifisd langth,
Although tha functiona in tha family ata similsr to
tha functiona in tha "b" family, although thay hava
diffarant srgument ordsrs, caturn different vsluoe,
perform slightly diffarant oparationa, ate.
memccpy(dst, arc, chr , Ian) copiaa bytaa from "arc"
to "dat" until aithar "Ian" bytaa hava baan
moved or a byta oqusl to "chr" haa been moved.
It raturna aithar NULL or a pointar ona bayond
tha location in tha daatination atring with
■chr-,
char *memccpy(dst, arc, chr, Ian)
char "dst, "arc, chr;
Int Ian;
<
whila ( — Ian >- 9}
if (("dst** - «src**) -- chr)
raturn dat;
raturn NULL;
J
m*mchr(src, chr, Ian) aaarchaa tha memory araa
pointad to by "arc* 1 axtaoding for "Ian" bytaa,
looking for an occurranca of tha byta "chr".
It atarta at tha beginning of tha atring and
atopa whan it encountere tha firat match.
char a mamchr(arc, chr, Ian)
char "arc, chr;
int Ian;
i
whila ( — Ian >- 0)
if ( # src** ■■ chr)
raturn arc-1;
raturn NULL;
J
meoempdha, rha, Ian) comparaa tha two manor y araaa
"lha(0..1an-ir and "rha (0. .Jen-ll • . It
raturna a value < 9, ■■ 9, or > 9, dapanding
upon whathar "lha" < "rha", "lha" « "rha", or
"lha" > "rha". It akipa tha aqual preflxea and
uaaa tha valuaa of tha firat unaqual charactara
to datarmina tha compariaon valua.
int maavcap(lha f rha, Ian)
char "lha, "rha;
int Ian;
I
whila ( — Ian >- 9)
if (*lhs** ■• "rha**)
raturn lha(-lj-rha(-l) ;
raturn 8;
»
mamcpy(dat, arc, Ian) copiaa "Ian" bytaa from "arc"
to "dat" and raturoa a pointar to "dat".
char *msacpy(dst, arc, Ian)
char "dat, "arc;
int Ian;
(
char "d ■ dat;
whila ( — Ian >• 9} "dat** - "arc**;
raturn d;
)
■ammov(dat, arc, Ian) copiaa "Ian" bytaa from "arc"
to "dat" and raturna "det"*"len".
char "mammov(dat, arc, Ian)
char "dat, "arc;
int Ian;
(
J
whila ( — Ian >• 0) "dat** ■ "arc**;
saturn dat;
nrchr(arc, chr, Ian) aaarchaa tha memory araa
pointad to by "arc" extending for "Ian" bytaa,
looking for tha laat occurranca of tha byta
"chr". it atarta at tha beg inn log of tha
atring, but acana tha antira atring, rathar
than stopping with tha firat match,
char *mearchr(erc, chr, Ian)
char "arc, chr;
int lao;
i
1
char "ana;
for (ana - NULL; — Ian >- 9;
if l"arc — chr)
ana ■ arc;
raturn ana;
arc**)
nrovfdot, arc, Ian} copiaa "Ian" bytaa from "arc"
to "dat", in ravaraa ordar. It will work with
complataly overlapping, but not partially
overlapping, eource and deetination etringe.
On each iteration, it ewape eucceeeive
charactara from the next positions from the
front and end of each atring.
msmrev(det, ere, len)
chsr "dst, "ere;
int len)
I
)
chs
while (srea > arc)
<
t • • — ercx;
•—data - "arc**;
•dat** • t;
)
aaet(det, chr, len) fills the m«
"dat!9..1en-lj" witb "len" bytaa all
"chr", and raturna a pointer to "det"
lory area
equal to
char •memeet(det, chr,
char *det, chr;
int len;
len)
)
char *d - det;
while ( — len >- 0) *det** - chr;
return d;
The "etr" family of etring-hendl ing functiona doea
not allow arbitrary contanta of etringe, ae the
proceeeing la controlled by the terminating nulla in
each atring. Thia ie coneietent with the manner in
which C compilere handle conetant • etringe and the
etandard C functiona handle character etringe.
etrcet(e, t) concatenatea "t" on the end of "a" and
raturna a pointer to "a". Piret it finda the
end of "a"; then it coplea "t" to the end of
■a".
cher "etrcat(e, t)
char "a, "t;
f
char "aave • a;
while (»•++)>
for ( — al *•♦♦ - # t**; );
return mmvt
I
etrchr(e, c) returns a pointer to the firat place in
"a" where "c" occurs, or HOLL if "c" doee not
occur in "a".
char "etrchr(e, c)
char "a, c;
for on
i
tt ("a — c) return a;
if (l*e**) return HULL;
, ]
68' Micro Joumai
13
atrcmp(e, t) returne ■ value > 9, ■ 9 t or < 9 whan
■a" > "f, "a" » "t", or "a" < "t", according
to tha ASCII eequence of charactara. It aklpa
tha equel preflxee and utti tha valuaa of tha
flret unaqual charactara to determine tha
comperleon valua.
int atrcmp(a, t)
char «a, »t;
(
whila (*e *• •t**)
if 4 1 ••♦♦) raturn fl;
raturn *a-t(-l);
)
etrcpy(det, arc) coplaa tha charactara atarting with
"arc" to tha araa atarting with "dat" until a
null character ia found, and raturna a painter
to "det".
cher *atrcpy(det, arc)
Cher *dat, 'arc;
(
cher *eeve • det;
while (*dat*+ « •arc**);
return eeve;
etrend(e) returne e cherecter pointer to the null
which ende "a".
cher *etrend(e)
cher "a;
{
while (••♦♦);
return e-1;
atrrpt(dat, arc. k) rapeete atring "arc" into "det"
"k" tlmae. it returna the n unbar of cherectere
■oved.
int etrrpt (det, arc, k)
char *dat . *erc;
Int k;
(
cher *eeve • det, *p;
for ( ; — k >« i; --det)
for (p • ere; "dat*-* ■ "p; );
return det-aave;
J
atreub(det, ere, off, len) coplaa up to "len" bytee
from "erc"+"off" to "det". The velue returned
le e pointer to the termineting null of the
reeulting etring.
cher *eubetr(dat, ere, off, Ian)
char "det, fl erc;
int off, len;
f
while (--off >- 0>
if <J*erc^)
(
•det • *\9*
return det;
>
while { — len >- §)
if ( |("det^ ■ •iec^))
return det-l;
•det ■ *\9'i
return det;
etrlen(e) returne the number of charectera in •■■
int etrlen(e)
cher fl e;
)
lot 1-9;
while <•■♦♦) ♦♦!;
return 1;
etraov(det, ere) copiee the null-delimited etring
pointed to by "ere" into "det", and returne e
pointer to the terminating null in "det".
cher *etreiov(det, ere)
cher "det, "ere;
I
while ("det** • ■ere**)?
return det-1;
}
etrrchr(e, c) returne e pointer to the leet
occurrence of "c* in 'r, or MULL if "c" ie not-
found in "e".
cber •atrrchrte, c)
cbar "a, c;
(
cbar "ane;
for (ene - HULL; *erc; ire**)
if («erc — cbr)
ana m arc;
raturn ana;
>
etrrev(det, ere) copiee cherectere from "ere" to
"det", in revarae order. It will work with
completely overlepplng, but not partially
ovar lapping, aource and daetlnetion etrlnge.
On eecb iteretlon, it ewepa aucceeeive
cbarectere froa the neit poeitione froa the
front and and of aech etring.
etrrev(det, ere)
cber fl dat, "arc;
<
cbar *datz, "arcz - ere, t;
•bile (*erce++);
area—;
detz ■ det ♦ (erct - ere);
while (irci > ere)
{
t • ■ — ercx;
• — dete - •■re**;
•dat** ■ t;
Next month' a coluan will continue the eipenalon of
O'Keefe'a atrlng-proceeelng functione. The ultimata
goal le the definition of eeverel famillae of
functlona which will provide the programmer with e
flexible library which will lncreeaa productivity,
readability, aeee of uee , and anhence tha
atructurlng of C progreaa.
C PROAIEH
Tha problem with the following definition;
tdefine tolower(x) (ieupper(x) ? <x>|32 : (x))
ia in ite eide-effecta with carteln ergumenta.
Conalder the effect of the following ueaga of the
definition:
c - tolower (*p++) ;
which, when expended, becomee tha following:
c- (leupper (•?♦♦) ? (•?♦♦) |32 : ("?♦♦)>;
Note thet the cherecter which le teeted for ceaa le
not the aana charecter which may be converted to
lower ciifl. There ere et leeet two poaaible
aolutione to the problem. One ie to aeke "ielower*
e function, teking edventege of the call-by-value of
arguaente to C functlona, aa follow*:
char lalower(x)
char x;
(
return (lauppei(x) 7 (x) J 32 : (x));
which work a only for arguaente of type cher end int.
Another poaaible aolutlon lnvolvaa tha introduction
of an Intermediate variable to circumvent the double
expenelon of torn erguaent of tha definition. Toe
revleed definition end variable declaration ere ee
followe:
Ideflne tolower(x) ( leupper (_c* (x) ) 7 _c|32 : _c)
cher _c*
which worke fer argument a of eay low-level type,,
but ie ellghtly leee efficient ie code end time then
the originel definition.
ifhet doee tbe fallowing promt ma outfit?!
tlnclude "etile.a*
Idefine eep(z) if ((x) •• *\t* ) prlntf(" ")
<
14
'68' Micro Journal
>
char c[J - •abcNtdef*;
char - p;
for (P - c; - p; p**)
(
if <«p !- *c*)
exp(«p);
else
printf ("Ic^'p);
1
68000 USER NOTES
What guideline for C programs does It illustrate?
EXAMPLE C PROGRAM
Following is this month** example C function; it is
fro* Phil Gunsul, and provides s "rename" function
for the introl version of C for FLEX.
Kenomm vlll rcna»« a Mli on th« disk, Th« atrlng al mu»t
point to th* oJd Mil D«n* and •it*ntlon, with an optional
driva nuffber fol loved by a pariod. pot axaapla, al aay
point at a string *2 , Junk.tx t" . If a nvanbac la not
■pacified/ auch am "junh.txt" tha working driva nunbtr will
ba uaad. 32 should point at tha daiirad naw nwi, auch aa
*ji!flk.bak*. Ho nmdbar ia allowed to praM* il , and it auat
hava an aatantion prefixed by i '.'. If tha fila ■•n^n ia
unabia to ehaftga naiei (disk la wrlta protected, a fila by
that nan* already exiat, ate. J , a -1 will ba returned.
tinclode <stdlo.h>
♦include <flex.h>
rename (old_naae_ext , new^nuie ext)
char - old name est, "new name ext;
char c;
struct feb wrk^feb;
wrk fcb. function - RENAME;
if 7i«4igit(c - •old_name_ext>) \
wrk^feb. drive ■ •old_nsme_ext+* - 'fl';
o 1 d~n am e_ex t ♦ ♦ ;
} else
wrk^feb. drive - FLEX_OATA.wotk_dtlve;
transfer (t wrk^feb. filename , old_narae_ex t) ;
transfer (awrk^fcb.s ,new_name f new_name_ext) ;
return! fms(awrk fcb, c)>;
transfer < fcb pnt, string)
char *fcb_pnt, "string;
int
chsr
J, i;
frt i < 9)
for (1 - lfl; i > 9; W->
fcb_pntlil • 0;
while ( (c - stringUJ ) I-
fcb_pntH**l - c;
J - ++i;
i - 6;
while <{c • string! j**)) I» 9 »& i < 11)
fcb_pnt[i+*J - c;
SUPPORT YOUR
ADVERTISERS
Philip lucldo
2320 Saratoga Drive
Sherpvllke, P% 16150
Portability
In one of my previous articles, I mentioned that I was
now commonly writing utility programs In C, and using
them without change on both the 6809 end the 68000-
Th Is has proved to be more and more Important. For
Instance', I em working on several different large
Programs at the moment, with an eye towards selling
hem, and It makes sense to be able to sell them In both
program portabllHy which
ability to control- The
6809 and 68000 markets with minimal changes to the
programs* As I write these programs, though, It Is
becoming obvious that simply using a high level language
Is no guarantee of portability. Writing a truly portable
program turns out to require a little care ana thought,
as well as some good programming habits.
Syntax
There are some obstacles to
are beyond a programmer's ab
compilers used to Implement a given high level language In
two different environments may actually accept two
slightly different languages, syntactically. For
Instance, with Pascal, there Is no universally established
method for declaring a default action whenever the
expression in a case statement falls to match any of the
case values* Since It Is very useful to be able to specify
a default as In the C language swTtch/case/defeutr
construct. Individual compiler authors have extended
Pascal, each using their own peculiar syntax.
C also has some problems In this regard- While C
compilers tend not to Implement unique extensions to the
language, probably because the standard language as
defined Ink &R (Kernlghan & Ritchie, The C programming
Language) Is quite powerful and complete, various
compilers fall to Implement some features* This Is
commonly found In trie so called 'Small C compilers.
Typically, these compilers do not accept C language
features like floating point operations, structures, or
Initializers. Further, even few 'full' C compilers
Implement bit fields, which are described In K i R, or
such newer features as passing, of structures as
parameters, added to C since the publishing of K A R.
Point one In writing portable programs, then. Is to use
the minimal language syntax which can be expected to be
widespread among compilers. For C, this mostly means
staying away from bit fields . Unless a Small C compiler Is
all you have available, go ahead and use structures,
Initializers, and the like, since full C compilers are now
quite common, and structures, In particular, are
Indispensable In combatting other portabllHy problems-
The Library
Much of the power of C Is derived from the routines
which make up the subroutine library which Is supplied
with the compiler* Unfortunately, different compilers
come with different libraries, there does exist a
standard of sorts, the library found with the Unix
version of C. This became a standard mainly through lt f s
Inclusion In K & R, and Is known the 'standard I/O*, or
stdlo package. Just because a compiler claims to be
Unlx-compatlble / or Include the stdlo package, though,
Is no promise of Immediate portability as far as the
library goes.
Generally, the presence of the stdlo package means that
certain file routines, known as the buffered I/O
subroutines, are available* These Include such functions
es fop en, freed, getch, pirtch, and prlntf, which work by
buffering data rnto blocks, which are then read or
written as a whole. The buffered 1/0 routines are
usually externally Identical, so that they can safely be
used In portable progrems.
There Is another set of 1/0 routines which supply more
direct calls on the operating system. These routines
Include reed, write, open, and creet. While direct I/O
routines may In fact have these names In a C package,
th-ey mey not be used In the same manner as the like
routines In another package. For Instance, ope* tikes
a parameter giving the filers access mode, such as read,
write, or update. The actual numeric values of the code,
•68' Micro Joumai
15
though may depend on the particular operating system.
Thus, the access mode parameter used fn the Mlcroware C
&ackege Is different from the same parameter In Unix C.
hlle direct I/O may be required or preferred, for
reasons of efficiency, portability may force a programmer
to use the buffered routines Instead. As an
alternative, there are techniques using the C pre-
processor which may assist In making direct I/O calls
portable. These will be discussed later.
One constant source of headaches fn writing portable C
programs fs the memory allocation routines. These
routines are used to request more memory from the
operating system, or to return memory which fs no lonqor
required* Generally, such routines as c alloc, mc,
free, and brfc are available. Depending on the c Tier,
there may be several variations of brk. such as
Micropore's sbrk, Tbrk, and ebrk (In the 0^-9/68000
version onfvl • As with file I/O. these routines may be
thought or as buffered and direct routines. The
buffered routines, celloc, melloc, and free, request
memory from the operating system In chunks, and then
parcel It out In pieces as higher level requests are
made. The brk routine, on the other hand, performs
direct calls to the operating system* As such, It Is
more likely to change from compiler to compiler*
Certainly check beforehand, but If It all possible, use
the buffered routines for portability, as th«y are more
likely to remain compatible among separate compilers*
Point two In writing portable programs: stick to
whatever standard exists, as far as the run-time library
of support routines goes. This standard, usually, will be
the buffered routines found In the Unix C library. Use
carefully, or preferably avoid, the direct I/O routines
which exist with the same names but different forms In
various compilers. Finally, avoid If at all possible those
routines wmch are unique to a certain operating system
or compiler, unless you do not plan on porting a program
to ano+her OS. For Instance. 0S-9 C compilers generally
have an os9 subroutine, which Is used to Issue direct
requests to the kernel. The subroutine may have a
different name, though, and If you wish to port a
program to CP/H, for example, where a subroutine called
bios exists for the same purpose, the calls will be totally
Incompatible.
The PYe fp u»e*sor
Sometimes, a program may be portable to another
operating system with only some changes In various
parameters such as buffer sizes. Here Is where the
pre-processor comes In handy* The C pre-processor
does not actually understand the C language. Instead,
Its Job Is to read the C source text, searching for
special lines hlch ere commands to the pre-processor f
and modifying the text according to These comends
before pass nig It on to the actual compiler. Ety proper
use of pre-processor eommands, different versions of a
program can be selected by the modification of a single
fine in the source.
The main Idea, as far as taking care of numbers and
strings which may change between compilers and
operating systems, Is to create what are known as
manifest constants. A manifest constant Is a constant,
or fixed value, which Is given a name* In each place
where the constant Is required, the name Is used
Instead. If the line equating the name with the
constant Is placed where It Is highly visible, at the
start of the source file, then modification of the
program does not require digging Into the text for
obscure references- instead, Just the definitions are
changed. As an example, suppose a program requires a
buffer of a fixed size of 9K, Instead of numerous
Incomprehensible references to the number 8t92 P a single
line
Ideflne BUFFER SI 4
8192
can be present at the start of the program, with the
name BUFFER SIZE being used In the body of the program*
Changing thrm size of the buffer, for a new operating
system, tor Instance, Is es simple as changing the single
fdeflne.
Still more can be done. It Is rather Inconvenient to
have to physically change many definition lines In order
to use a program on a new operating system. An
alternative Is to supply all of the constants, for each of
the various operating systems* This Is done with
conditional compilation, using the #!f/#efse/#eedlf pre-
processor commands. As an example, consider the
BUFFER_S1ZE definition:
flfdef 0S9
/define BUFFER SIZE 8192
#else —
flfdef UNIX
/define BUFFER SIZE 32768
#else —
'define BUFFER SIZE 4096
ifendlf -
lend If
The #lfdef pre-processor command checks If a given
manifest constant has been defined before* A previous
definition will usually be done using an /define
statement, though some compilers allow a name to be
defined from the command line. The lines above pre-
suppose the definition of a manifest constant giving the
name of the operating system being used. Thus, If 0S-9
Is used, a line such as '/define 0S9 I 1 must exist. If
running under Unix, the name UNIX Is defined Instead* If
the constant 0S9 has been defined, then the name
BUFFER SIZE will be equated with the number 8192. If
not. ttmn the name UNIX Is checked. If |t exists,
BUFFER SIZE will be 32768. If both 0S9 and UNIX are
undefined, a default definition of 4096 will be triggered*
The Mlcroware C compilers au+omat fealty define names for
the particular operating system. The 6809 C compiler
predefines a name of 059, while the 68000 version
predefines a name of 0SK. Thus, when working on a dual
6809/68000 machine, as I am, these names mav be used In
a program without definition, greatly enhancing the
ability to compile a program under the two operating
systems with no changes whatsoever to the source text.
The conditional pre-processor commands do not have to
surround other pre-processor commands only. Normal C
language may also be conditionally selected. For
Instance, In a program I have written, I need to use
chain, which transfers execution to another program.
There was a bug In the 68000 version of chain, though,
and I was forced to drop back on the equivalent routines
os9fork followed by welt. This Is Inefficient, though,
and since the 6609 Is tight on address space. I
preferred to stick with the chain If possible. The
resulting code went something like this:
flfdef 0SK
os9fork ( name, ps lie,. - .);
waltUstatusi*
#else /* OS-9 default V
chaln(name,ps!ze,. . .);
fendff
If there are a large number of definitions that change
between versions of a program running under different
operating systems, It may be easier to prepare a
separate text file, consisting only of the definition
lines for a particular operating system, and use the
/Include pre-processor command to read the separate
file. For instance, flncfude m d&fs»h m will cause the lines
In the file defs.h fo be Included as part of a C program.
If the source for a number of operating systems Is kept
as a single file on a machine, such as on a dual
6809/68000. Ilfdef statements mav be used as above to
Include different flies based on the operating system.
If the source is transported to a different machine,
then the same definitions file name can be used,
assuming the file name meets the requirements of the new
operating system. If not, then the /Include line will
neve to be changed.
Point three when writing portable C programs; use the
pre-processor, especially as regards manifest
constants. Don't tell yourself that of course some
number will stay the same between operating systems. If
there Is any chance It might change, give it a name, and
comment the definition of the name so you know to change
It later.
Data Types
As lone as programs were being ported among 8 bit
computers, little attention nmedmd to be paid to such
matters as the size of Ints and other data types. When
moving bet een 8 and 16 bit systems, though, The matter
can become quite Important, causing bugs which are very
difficult to find.
On the 6809 1 Ints, short Integers, and pointers ere 16
bits wide, chars are 8 bits, and loeg Integers are 32
bits. On the 68000, char, short, and long Integers
remain the seme size, but types Int and pointer are now
32 bits wide (at leest under Mlcroware CI. Because of
this, code which assumes 2 bytes p$w Integer or pointer
will fall. While a program will occasion ally need to know
the size of an Int, It should n ever use a fixed constant.
Instead, the slzeof operator should be used* This
16
'66' Micro Journal
returns the size of a dofo type In units of the size of
chars, which Is 1 byte for practically all microcomputers.
Thus, to Increment a pointer of type char • past an
Integer, the line used should be
not
p ♦» slzeof(lnt);
P *■ 2;
SOFTWARE TOOLS
IN PASCAL
There ere other places to look out for the data size
froblem. A program I once wrote created a temporary
lie which Included pointers to symbol table references In
memory. The program assumed a 7 byte pointer, and used
calls to a routine outwordO to perform the output to
the file and InwordO to reod the pointer bock. When
the program was moved to a 16 bit processor I had to
slowly search through the entire program, looking for all
IftwordO/outwordn references to pointers. Each of
these then had to be changed to 4 byte read/writes,
using new routines InptrO/outptrU. It would have been
far better If 1 had had the foresight to use separate
routines for the pointers from the start. The moral:
don't ever assume anything about the size of a doto
type. It might change.
With Ints and longs being the same size In the 68000, It
Is tempting to Ignore longs altogether. This can cause
problems It you try to port back to the 6809. If a
variable will fit In an Integer In both the 6809 and the
68000, use an Integer. If If needs a long with the 6809.
use a long for both processors. Be especially careful
when using prlntf. since It requires long parameters to
be explicitly declared lona In the output format string
(e.g. "I8ld* Instead of *|8d">. If you are forced to
convert an Int to a long s a 68000 program can be moved
to the 6B09, look carefully for these prfntfs.
Another problem with differences In doto types has to do
with sign extension and the type char. K 4 R
specifically state that a character value may be
converted to either a signed Integer or an unsigned
Integer, and no assumptions should be made as to which
actually occurs. Ihe Hlcrowere C compilers, for both the
6809 end 68000, perform sign extensions, for Instance,
while CP/H C compilers I have used perform unsigned
extension. To prevent problems, programs should
perform an AND operation (c I Oxff) whenever sign
extension might be a proble . Having said that, though,
I have to acknowledge that It can be devilishly difficult
to find all such occurrences.
More Importantly for 6809/68000 portability, the same
problem appears when dealing with type short. One
program of mine created a symbol table which I wanted to
keep as small as possible, so short Integers were used
where possible. This caused no problem on the 6809,
since short and Int are the seme thing there. n the
68000* though, shorts ere sign extended to Ints. The
results were quite confusing, until I printed out some
values using debug prTntfs, only to discover that some
values were being printed. In hex, as Oxfff faced. Instead
of the expected Oxabcd. The answer, as before, Is
careful use of AND statements <vel a xffff).
Sign extension can also be handled by specifically
declaring affected variables as unsigned chef or
eeslgned short. This will only work If your compiler
understands such declarations, which Is by no means
assured, since K & R seems fo specify that such
declarations ore Illegal (I think - the book Is rather
hard to reed, there). Despite K & R several compilers.
Including the latest versions of the 68000 Hlcrowere
compiler, do accept these types, probably because the
Unix compiler does so.
The final point (this month) In working towards
portability: watch the assumptions ab ut data types. An
integer Is not necessarily the same everywhere you took.
Wiere DU m> Space 09?
I seem to have gotten too talkative again. There Is still
more to be covered, particularly the use of f defines to
take advantage of features available only with particular
microprocessors or operating systems. In addition, I em
beginning to see Information appear on the new 68020,
and should have something to say about It next month.
SOFTWARE TOOLS IN PASCAL
Brian W. Kernlgan and P.J.PIauger hoye written
an excellent book that teaches good programming
techniques. The programs and elgorlthlms that
they present In the book are useful, and they
work. Many authors In the past using other
programming languages have typically presented
programs that are Incomplete and barely work at
best. This author was very pleasantly
surprised at the quality of the programs that
Kerrigan and Pleuger have presented In their
book. This book Is a treasure trove of useful
and valuable Pascal programs.
Chapter one, titled "Getting Started", deals
with the methods and slyles that Kernlgan and
PI auger use throughout the rest of the book.
Within this chapter the various lower level
"primitives" ore discussed In detail. These
functions and procedures ore used as the basic
tools or building blocks for the rest of the
book. Besides basic file copying methods ,
various character and word counting programs
ore 1 1 lustreted.
Chapter two continues with various groups of
programs that ore called FILTERS. Filters ore
used to make changes to data that Is being
passed through them. Programs that fall Into
this category Include TAB removal and
replacement within text files. ther programs
ore designed to replace backspaces or perform
text compression or decompression on files.
Chapter three discusses In detail various
methods for handling data within files. This
chapter Includes e file comparison program.
Also since some Pascal compilers do not Include
a "include" function, a program Is presented
that performs this task. Other programs
Include file concatenation, dynamic file
creation, and archiving.
Sorting Is discussed In chapter four. Several
methods ore explained including the bubble
sort, shell sort and quick sort elgorlthlms.
All three techniques ore shown along with
programs that demonstrate the elgorlthlms.
Besides !n-memory sorting programs the chapter
also Illustrates the methods by which one can
develop a variable record length sorting
program that can sort flies larger than those
that can be sorted In memory.
Chapter five discusses the methods of text
pattern checking and matching. A program named
FIND 1 1 lustretes the methods by which one can
Implement this useful function. Another
program Is explained which also changes text
besides just finding it.
A very Interesting and novel text editor Is
presented in chapter six. This particular
editor Is a line editor, and It Is very well
documented. Thus one should not have too much
difficulty Implementing It on any specific
computer system. The editor sports all the
neccesary functions Including line Insertion,
deletion, and search and replace procedures.
'68' Micro Journal
17
Chapter seven discusses text formatting. The
text formatter that Is presented contains a I i
the needed functions that one would normally
require In formatting a text file. Some of the
functions Jnclude left and right margin
justification, paglnq, page numbering, line
centering, and indenting. The text formatter
works very well as this article was originally
formatted using It.
Chapter eight covers macro processing. Macros
are used to extend a programming language such
as assembly language* Macros can also be used
to expand upon the text editor that is
presented In the book. Also one coufd use
macros to replace text In a file with more
complex forms of text.
In the appendix, the last section of the book,
various example procedures and functions are
provided to help aid one In being able to
utilize these programs. Such /ow level
procedures and functions Include opening and
closing fifes, and the reading and writing of
characters. Some Implementations Hclude
examples for the University of California at
Berkeley lUCfi), Whitesmiths Limited, University
of California at San Diego (UCSD) Pascal
systems- These various Implementations also
Include UNIX compatibility, so users with
microcomputer systems using TSC's UNIFLEX or
Mlcroware's OS-9 should have little difficulty
getting the programs up and running.
"Software Tools In Pascal" was preceded by an
earlier work titled "Software Tools'*. The
earlier book presented It's programs In RATFOR,
which Is e language based oo FORTRAN. The
newer book goes much farther In redesigning the
programs and considerably Improving upon the
original FORTRAN Implementations. "Software
Tools In Pascal" Is published by the
Add I son -Wes ley Publishing Company.
In closing, the author has added the following
Pascal programs named OPAGE, NDPAGE, TPAGE, and
NTPAGE to those In the bock. DPAGE and NDPAGE
perform the function of setting up formatted
text Into double column pages* TPAGE and
N1PAGE set up the formatted text Into triple
column pages. AH four Pascal programs were
complied using Mlcroware's Pascal compiler and
language package. Al I of these programs as
presented In the book and the additional ones
can be compiled all the way Into Native Code
using Mlcroware's Pasce I compiler. NDPAGE and
NTPAGE aiso demonstrate the use of entering
Information Into a program vie the command line
with the language extension SYSPARAM.
Earl W. Bollinger
912 West First Street, Apt 5
Fort Worth, Texas 76102
ai 7 -877-0625
MIL* cdm(I1> r DC
randottrAtf,ii">>;
v;«r*rt«lO-lD0f
riAdMlrnd.-.Ml;
di»400»ro4UO;
• i-l+rndf
IF l* TMEK «:*{
mill sot Ittdld DO
KtlN
•Ovtltt(d);
ftJUKf.v.d);
IF f>9 THEM
Durnr*tt(*»
asc
IF #>♦ TttN
fi-l-bj
c**o-g;
d:>te«ini<d*v*c/2l;
if |<»0 T*H
liAdid.-'truii
EMOi tot iftwr rfuii loop)
■rittln;
nrftiln;
■rittlrtl'lEfl is Of 1K» tuHict of tht i
♦rittlnt
i»"lj
IF v<-S thin
Km
■rHfiM'EtitttUf *pf#d of UndinQ"'!;
truhfdtrM, *,«,{, d,rnl
m
£ISE
AOfcU.f);
■rititn;
mtUV tooth* f*»#- <Y/I>; \: iro*t;
U'li
DH[1£ Hot n\p\ 4Ad (Kol DO
rot4UDM(f]>;
i:ttuec(il;
E«;
vrittln;
Tf coottlli r J** CDtilU^Ti
{NO; { <H outtf •bilt :oop ]
£«.
■rittlR(f:(». unU of 4wL ro44ir.in$. T l;
rjf>doilff>d,i,rol;
d:*<«rod*J;
vrUtlot froducid in ttplotiw covirin| \d:0, * *t} ultt'l;
nmUIaC o* lun*r turlic** 1 '){
«ritfln;
END;
•riltlni L E fl £ 5 T R Y E P * • ');
*ftilnj
•rittlM ♦♦♦•♦• TCU HEV IT' ••••♦•);
wftflfti
urttltl;
DID;
PflDCBUK IOr«M* »,f: [«TE6E*>l
Hilt
irittUj
vittUI* COMllATULlTIQiS 11 r>;
irtttio;
■rfttUCA Ptrfftt lirijifl" >J
WlttlftJ
*iUlirToufM*M Ttlocitft ViOl;
•rtUlil'Fvtl rtMioUg: MiO>|
vittlit
fWEim (it uneai i
< mod to trio tM LGI tptiir to oevt do* too ttTMn )
m
it ]VTE€Eftl
KCii
•i-tr«rMH'<Oli
Mill *)« 10
18
68* Micro Journal
KfifM
■rit«Zn;
uiprtdU);
DO;
CM;
( The Alia progn* )
seen
c:»J?8:
r4Adoa(r«d,i.rtiJ;
j:«rnd«J3;
BEBlK
rindo#frnd,*,rnl;
l:*PrtdUlf
Oft;
LUNAR LAbtER fiAAE SlftJtATN* ) f
•nttlns
■rfttln;
*ltfln<
•rittln;
wntilftl Try to land th# Un on tht lurftct of the •aon by tnt*nn9 J;
•nttlflf tht furl burn rjttt nhtA rtqutsttd. rj
■rfttlr;
■ritAifll SO00 LUCIT 1 '];
orUtlo;
•ritfln;
COIitlhi T •
[ U-j-Huci- is iAothir ;io,r»*f uti*> si tit cUtsicil gto* J
( a> nhjih tx Nvt tc Nad * wttt «i*U!t on tht too*. 2
< This pftrH:Ll« itfticii could tot hAvo tm {AitMCnttl j<
I ill if it mi\n t for KF.Elbtrt md fc;t str.tt cf trtictf*
( i» p 64 m:rs Jour/iii 4 i&turt lov.ll, Drt.flt, Jm.B2, F«^.82
! MJt6 *S. oil Alton, 6tMt, tnd Ptndot Vir't*a!t(.
<
( ft? C.B. tol1titi.tr on *4r. tS IW,
m
t,c,l,M,i,rnd,».ii 1KTESEP:
m: NEH;
com: ftRWfU.,5) of CHAR;
I AiM: flXXEAX;
ntOCEAAE MMOONfVAff rnd.tt 1RTEGCR: ra: REAL h
VAj)
ji (HTtttJt
( istd to ftntrttt rintfoi inttQtrs brtitrn ind 9 1
K6IN
uthAoortfUiitl;
i:illlfi;
IF i(0 T)CN i:»m327oM|
nru/32747.0;
OAthiftorKtrat);
i:*iatbrt%tflt; {vittd t& Otv i«y trror corftt out)
rn4:^rttftCfi/E0OO);
IF rod* TMEV rnl:»rod tod 10;
rtOCEOUtt STAIUSlVtf f,»,d: IHtlCCRJ;
CtU
•nUlaC Q FUELt ',**•!;
orfttucm s«Oi \vi0h
r-ittltf/-\ HElttli ,d:0Jj
*ft»ta;
Pttj
*K£A*f lUfttftATEtVtf b: INTEGER!;
K61N
■ntfCRM: 'r; proipl;
rtidlnrb);
DO;
PROCEDURE CRASHED(VM rni,t,f,f,<fi 1MTCGIR; riu ft£4L? ;
Ktr*
•nttl*;
w i til d I CRASH CMS* PM5H t;
■rTttkt
m«* ••«•• «m );
•rfttlo;
r-itlln;
onttltt
!«ai:t »tlocity: ,v:0l(
nrft*!n!
LFJ buntd; ,d:0, fttt. \i
•rtttlo:
IF m Hf I
K6JN
1
01
M06RM rWKj
i
00
f iftfASE— outputs a tnrM coluin forwt 9igr of tf*t
I
00
( froa the fill 41 inautttd, Tht fill sfeotld bt Jtt
*
00
( up ■itn col mn Itts tUn 40 *idt and oo Iiok to J
1
01
( UQt, )
6
00
( Thu vtMiM prints pifli nutptrs. stjrtiog nth tht >
7
00
< p<gf nuobtr 41 inttftd by tnt tittr. It Alto prints )
8
00
{ only thi Irfttott top of ptqt hudtr hot, tnd )
9
01
( stript 4.11 tht rttt of tt* hMdtr And footer lints. )
10
00
i ItfPAbt n lomtrto* bt itr nigw <nd flauqtr s boot )
11
09
( tittid SoftMft Tools in PascaJ . }
12
00
< )
13
01
{ Typical cooiand lioot )
14
00
( 059: PiscaU <wnrct Jttstinatioa NTPA6£ tp^qonuo 1
IS
Of
[ OSfi PascaIi (sarct >d#stin*tiw KTTAbt «14k )
U
00
{ If coapilid iMo oojtct codt; )
17
01
I Wit OTME (tourct >do»ti nAtion Tpjg* nuto«r >
19
00
{ )
19
0*
( IV f.MOUJRTO w Octootr 12, 1982 >
70
00
21
01
72
M
COCf
23
01
PAOll * 44;
21
00
Mill* - 4U
25
01
WIST* * 112;
74
00
27
Of
o rm
71
00
itrino « Afr4|[l..HAlStRl of chA/;
29
01
PA9* ■ ArriyIL.PA«fLEn,l..«AIL[l€] o4 chir;
So
00
31
OB
VM
32
00
KUllK.llAi : cW;
33
-71
lp4go.apAgoirpo9t : PAgt;
34
• 1200
10 r trittfrr;
33
J J 220
Oooo : booltm;
34
•1230
37 -11230
FUHCTt04t STTCdAf c; chirlt booliAA;
36
OD
1 ( (ETC — fltU i chANCttr fra* itjndjrd input
3f
00
1 Nfljn
40
2 if oof tbtf)
11
i
3 crtilLL
4?
9
3 til* if toln tKtn
43
22
4 ktgin
44
22
4 rtAdln;
43
25
4 c:«*otr«
46
24
1 tod
47
30
4 list
48
33
4 rtAdtCll
41
37
2 If c«HJU Utn
30
40
3 gttc:>trut
31
48
3 tlM
37
33
3 9#tc:«fAl»t;
33
3»
2 tod; (of gttc )
34
1
33
I RPJCTlOi 6ETLIOHVAT It tlrlofi tAilllztt fittgpl: booltAo;
34
] f ootLut - fffts A hot of tott froo W»o ttAfdird input
V
t tV
3t
oo
} il mttg^r
59
-2©
1 Clt ChAf J
44
-31
l ftogto
41
2 i:»l«
42
4
2 Mil* fnotigitc(ch))! «nd (iftiAiifetl Aod (cbCN£«LtN£) do
43
23
3 Mlift
44
25
3 slilj*ch;
43
37
3 l:"«occCt!
44
39
3 Md;
47
43
2 if (coHPJll) tad UHI thtf ( b«rt to pnt, 4oet too ftr 1
68* Micro Journal
19
41
S4
J Ct*prtd<il,'
14G
165
S ELSf
•9
59 ;
! tCi>>»*8Utt;
149
148
5 li<;
in
70
72
2 g*tho*:«<ciO*U>;
150
ltd
■fit**' ');
7]
81 ;
\ End; (of fitlifti )
151
176
a:»1;
72
152
178
hKlLE rip*9*:i,nJ<)«E*lUE> «nd U<MIUft» 00
73
FtOCEJHJtf 8ETPtfMWI(m in: mtigtr);
IS!
214
8*9in
74
[ ( |»tp*o*n»*4*r — ftti Ur styling pagt «Mbir fro* the )
154
214
flrit*llpig*Ei,tn;
7?
{ tart**t*r pilfttd to it in tht contend (int. )
ISS
242
•:*s«cc(*)
76
t m
154
244
•of;
77
08
u litr^j
157
248
IF •(MILI* Tb*o
78
•a
k REM* rtur;
158
255
b*8ia
79
-35
8**in
159
255
f« i:*n to nAJLlPC 80
eo
2 tfTUWh •**]*;
160
267
■rittf )\
81
7 ;
! irH>j
141
285
•nd;
82
9
* WILE t*N#«r**tU<>' ') **d ti<79) 00
162
285 !
13
33
X i:«mccU>;
163
285 !
It i<)3 THEN (strip ntr* Ind hndfrs)
M
59
J mp4ra*[i1;«i£TUfli;
164
291
BfQIA
85
52
2 litlS
165
29] 1
■rit*t* ');
14
54 ;
I IF fupjrjiCOlOIUUft TKrN
166
299 (
87
48
I )t»tr«icfawtrrtHtyt0iri*)l;
167
299 i
n:-l;
88
78 ;
f fftuij
168
301 i
mlli (*p*9tli,ft]<>8E«.l»»€l *nd (n<MIU8E) 88
t*
81
! End; ( of g*tp«g*nn*b*r )
169
S37 ;
h*gin
90
170
337
•rit*lipi9*Ii,A])i
9]
171
365 1
rtr^ftttCt In)
12
PftOCEOURf 8ETP46E(vjr pg: p«gt; v*r dontt bool*<nl;
93
1 ( Qtlp*9f — 9tti «n tntirt pj«« of tut fro* ttiodird input )
172
36? 1
*Ad;
94
mr
173
371 i
IF mil 1NE td*fl
95
OD
t f,*M int#9tr;
174
J78 |
btgm
94
-45
S: lifingt
175
378 1
FOR *:«■ to miltS. DO
97
-136D
i l«gio
176
389 |
■rittf »:
98
;
! For i:»l to WEH* J>0
177
407 J
**d;
99
17
I Itgin
178
407 i
100
17 :
S IF InotrdontH Kid lg*tlin*lf .MIL!*)) Thin
179
407 t
iMtir "ii
101
35
1 b*gin
180
415 :
102
35 <
1 "-];
181
415 1
•Mil
1*3
37
1 IF ri(n](>«MLlll£j and UfMOttU) T "«
182
417 i
8MlLt (rp»9ili^](>«*LC»£) »i 1n<MtL)lf) 80
104
77 !
i §»9i«
183
453 1
Itgfn
105
77 :
i PXnnT
184
453 |
vit*(rp«g*Ci f n]);
106
77 :
\ pqfi,tiJ:t»lnJ;
185
481 1
o:>IK(<«l
107
111 i
b «:*ujci<n)
184
483 ]
tnd;
106
113 I
> IMTK <iln]***l*> or ftC*]*«JU> or <*x«4ILl*r;
187
487 t
ini]
109
159 J
> tnd;
188
487 !
End;
no
159
1 If n<imUK Tltn
189
487 (
End;
HI
166
i pgfl,fth*8E*UIIEi
190
487 :
1 BTl
t*ln;
)I2
189 I
1 **d
191
490 3
ii«
itcclff);
1J3
189
1 ELSE
192
493 :
w;
114
142 i
8tgin
193
194
496 2
]
End! ( of outputtriplfpagt )
11?
1*2 J
I P8fl,13:=80ll«;
195
!
{ Mil PflOGftM }
116
210 i
r>«ri,2!:*HHl;
196
t 8*^m
117
228
\ dont;*tru#
197
1
fttl*:»chrUJ>;
ll«
229 <
1 Endj
198
7
MLl!»ehH0);
119
212
I Cnd; { of for />nt loop 1
199
12 1
iocti'Ul
W
Ift
24* ;
? End; { of g*tpi«* )
200
17
pn:«l;
121
20]
21 1
122
rWEOHL OUTrUTTRJPUP^;
202
21 ]
irtHgtauottr :c*l;
12!
( It liiply tJkK thrtt ptgei Of p^tviouftly for«ittcd ttit >
203
27
124
( Ml ovtiitl thM III otto Ofll p«9t. )
204
27 ]
MISi not < don* J 00
ra
»jr
205
34 ;
I teqin
124
88
l»iii,oidi mt*f*r;
204
34 2
9»lp«9t<lp«t,do«i);
177
-18
l*| in
207
43 ;
f ttpi3*<*p*qt. don** ;
128
;
\ itiilrmcimm/2-i);
208
52 2
9*tpjfllrpi9*,don*);
131
14 ;
I ii»l|
209
6i ;
\ outptittripJtp«9tj
1)0
16 2
MHILE i<«fVlfi£LOl 80
210
64 2
Mid;
131
23 :
1 **qj«
211
47 j
En4. i o< tp«9t )
132
23 :
1 IF 1*44 !*«
in
30 <
1 8*11 ■
HOC KAIK
PSEC mil
LOCAL ST40 CSCC CS1U 8E8US
C36
38 <
i «iur 1;
¥jvm
8 49
8123 9 9
135
38 <
1 m mi to oid 80
1 EETC
1 40
15 2
136
48 '
i •riur •>»
2 KTLI*
2 83
3 10 3
137
44 <
1 vittCHGE \*m4);
3 6ETPA6EK
3 82
3 16 4
138
81 i
1 *ni*uicc(»«l
4 SCTPAK
4 248
138 13 5
I3t
85 (
i tod
5 OUIPUUR
5 497
10 17 7 20
MO
81 <
1 EL$t
1819
8777 88 20
141
91 i
1 8)«fjin
142
9]
1 If Hpig*(i,ll«EIMtf> at**
211 Lint of m
wrc* corf* £M»il*d •ith n* ■rr«ri fw*d
143
114 i
1 <«P4t*ti,n<CH]*J Aid
-
144
138 <
i <'Pjg«C),M*4£*.l*) DO
1
08
HOW* TH8C]
143
145 J
\ 1*1 It
2
08
( TFUC -- «fU«itK * tfcr*« ciIm*» trUX pig* of tut )
144
(45 :
i CdO toting for tin »*/t>
3
48
{ fro* tht ft)
t at wiU*d. To* 111* cfvoold b* wt }
147
14? :
i *td
*
08
«p ii tl toiu*Bi Itftt thu 40 nd* and 44 linif to * >
20
68 % Mlcfo Journal
3
04
9 { pjgf. ]
84
159
3 on*
6
00
9 { TPAfif «at in«Pirtd b* ttrnigaa and PJaaBf i took J
13
159
4 IF KPMJU* Toon
7
OP
) i titlK Sottwt Tools in Pascal , J
14
166
3 p|fi,n}:***UK£f
e
00
9 < >
87
119
4 tnd
1
OD
) < Typical tooted input linti )
88
189
4 asE
10
00
9 < Pittiii <iwr« >tfntin»tioo Tpjqt )
19
192
4 If gin
]]
02
B { or if toapiltd into oVltct codt: )
90
112
4 pa(i,lh*CJUR£;
12
Ofl
J i Tiqt <toorcf >dtitmttio» )
91
210
4 pg(i,2];'*ni;
15
01
9 < J
9?
228
4 do»i:»trui
14
00
3 { tr E.«<B0LUICCF m Octotir 1, 1992 )
93
221
4 End;
IS
00
94
232
3 End; 1 of far ntrt loop )
16
00
93
246
2 End: { of gttpaqi 1
17
01
} CONST
94
ie
00
9 PtttUM • 46;
97
t PWCEWRE 0VWrTTUh.EFftflE;
11
09
9 MlllNE * 4]j
n
1 1 It tuplv tiki* thru ptftt of prtviouiU tortatttd tti
20
00
9 MIST* • 132;
99
I 1 and output i thro all onto ont patf*
21
01
100
1 *4f
22
00
J NP€
101
09
1 i,n,tt littgar;
23
Ofl
9 ithig • arra/Il.-HPiSTR] of cUr;
102
-61
1 Itfin
24
0*
9 pagi » imrU..f«ttlEII,]..MXLJJE] of CMr;
103
•
2 ii*l;
23
OD
104
4
2 9H1LE K-fftBELEK 90
H
00
) VAft
105
11
I Pfgin
27
OD
9 KtfUK.NULl l thin
116
11
3 IF (Itaailijl-NCIURO vtf (•P4gfli,n4g«Ll«] a/H
29
-»
9 ]Ngf,tp*gt|rp4C,f I &a?l;
21
■8 1200
9 dont : boolitf;
■ftouic
TIC*
30
-81211
107
15
1 (Oo nothing for tht» parti
31
-11210
9 FUCTld STClvix tl charli booitan;
10S
93
4 ELSE
32
00
1 ( fiETC — gits ^ cAaMctte frou standard input }
109
89
4 Btgifl
33
00
Otgin
no
18
4 orittr *l|
3<
2 if wf thtn
111
96
< n;=I;
33
J c:-ftJU
112
98
4 WILE (tiagfthilONEftlKl ltd (itMllllEi 00
34
1
J flu if folo thtn
113
134
3 b*oiit
57
22
1 Mia
114
134
3 ■ntt(]pagifi,n]];
38
2?
1 rtadln;
39
23
I c:-6€KLINE
115
162
3 ■i>tuu(al
40
24
i t*d
116
164
5 tnd;
41
30
1 flu
117
168
4 IF odMlllfK Mm
42
33
1 rta*"K>;
III
175
3 itgn
43
37
I if cNUlL then
111
175
3 FOft tin to MIUNE 90
44
46
S 9itc:*trut
120
186
4 witit* '];
43
41
J tUi
121
204
5 tnd{
46
»
S gttc:>f4lM;
122
204
47
39
2 rndi ( of gttc }
123
204
4 orfttf r;
48
124
212
41
1 FlflCTlQN 4TTU*Efvar i: ttnog; Mtiuf: inttgtrl: booituu
125
212
4 o : *l i
30
1 ( githn* — gitf a lint of ttit frot tha standard iryut 1
124
214
4 MULE («pagiU,nK»Ettt*) and («(fWiLZilEJ 00
31
1
•tr
127
230
5 Wfin
32
OD
1 i: intt*tc;
121
250
3 «rtti<tpagtti»«l>;
53
-79
(Is char;
129
290
5 o]««uec(ft(
34
-3D
I login
130
292
5 tad;
33
I ii«I;
131
294
4 ir oiMiim thw
36
4
I riilt Inot^itclchlll and (i<U'sfttl and tcaCHKJlJttl to
132
213
5 6o|in
57
23
I ttz--
133
213
5 fW it<n to MIURC DO
134
304
4 ortttC 'r;
31
23 :
1 ihh-CR;
135
322
5 fed;
3?
37 3
i:»mcc<U
134
322
60
39 J
\ mil
137
322
4 orittr "1;
61
43 2
if IchMWIU and roil thtn { bat l ufi ont, gont too far )
138
330
47
34 :
It*prtdU);
139
330
4 ||*1;
63
3? 2
tU)t>NEl,U9l;
140
332
4 WILE (rpofoCMKHftUlCl mi fiOMILltf) 90
64
72 1
gftlin»:t<Ch<)«lUi
141
U8
3 btgin
63
11 2
End; { of gillint 1
147
349
5 orititrpjgtli,!)];
64
1
143
316
5 OKtucrinl
6>
1
P9DCC0UK 9EJ?*6UiMt p;:pjqii v«f dent: boolian);
144
399
5 tft*i
6t
1
{ gttptat -- gots an rntirt paoc H tut fro* ittnoVd input )
145
402
4 EAdi
6f
1
*or
144
402
70
09 1
ii«t iotrttn
147
402
3 oritiloi
71
HI 1
ii ltritf;
141
105
3 h*Mcc(ilf
72
-1341 1
login
149
408
3 En4;
73
2
For if\ ti r*6BiH Do
150
411
2 End; { of outputtrlplaaagt }
74
17 :
login
151
73
17 1
IF Mldootl) mi <fttliot(i,IMXUlCll Tn«
152
1 ( Ml* PftOfiftM )
74
33 <
Wfli
153
1 login
77
33 4
•l«l|
154
1 lOUlC:=cbrtl3lL
71
37 <
IF IlLnKMEEliCt «* (th)ONU.) Tot*
153
7
1 «l.Lt«dr(0M
7?
77 !
Itftl
136
12
1 doofi'falw;
•0
77 !
9EPWT
157
17
1]
77 !
ftfIl,fj]t*«[QT^
I3i
17
t MILE not Idontl 00
12
Ill f
^ ai««acc<i]
139
24
2 login
CI
113 1
> ftJRIL HWHWJfcl or Ulnl^Ul or ImHILINEJi
14«
24
2 ottiagitlpagi'dtnOf
68' Micro Journal
21
16) 33
2
gttpagtfepegMont);
142 42
2
ottpagtirpagt
doni i i
163 51
2
outputtripltpagt;
144 54
2
tnd;
165 57
1
End,
{ of tpagt )
tSC NtiK
PSEC
PS I IE LOCAL
Slttt
csec
CS1ZE
DEBUS
OTPA&
7
59 8121
n
8
) GEIC
1
60
15
2
2 K711K
:
9S 3
10
3
J f£TPA$E
s
248 138
U
4
4 OUTPUT!*
4
412 1
062 B270
15
64
1
11
H
165 Lints of tourct cod* coopiitd t»itti no errors fount*
I
2
3
4
5
6
7
9
9
10
J]
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
26
29
30
31
32
33
3*
35
36
08
OD
OS
OD
01
OS
01
00
OD
00
OD
OD
OD
09
OD
OS
01
01
08
0[
08
OD
01
00
OD
00
OD
OD
OD
OD
00
01
00
OD
00
00
37-14784D
38-J4795D
3H4787D
40-147970
II 09
42
43
44
45
46
47
48
49
5C
51
52
53
54
55
56
57
OD
OD
-10
8
9
21
2)
24
25
27
30
3D
a
45
IS
ProgrM OTPA6E;
tUOPACS it inspired ty Ktrntgan tnd Plavger t boob tit ltd
( 'Softiure Took in Pascal .
( It uiply tifcei a previously formatted tilt of text
( and builds a nti hie of dual colum teit piOts.
O ( This, particular prograt ttpetts to read i hit of tilt
( formatted «itf) 54 cclufit ptr line it up to W )tnn
< per page. Thil vtrlion outputs page Pincers, starting
D ( iith the nuebtr at entered. It alio stupi tht foottr
O ( lints fro* tbt text, i< there iff *ny>
( Page niiooeri art instrtid on tht 6>d lint of tach pafr
(
( Typical coaoa/id lint:
t 059:PatcaU (tourct destination K4PA6E :pagMtiooer
( Jf cotpiltd into oojttt <odt:
< 0S9:M0fAfiE (source >dtitinatioo e page .nueoet
{
( 9y E.tf.feUiiger o« SepUober 15, 1992.
CONST
EttFUE ■ -If < 1*4 of filt iirktr 1
ttftllC > I3i ( carriigt reUrn 1
£«STR = Oj ( null]
HAISIR » 132; ( nuitui string Itngth 1
JMIL1NE ■ 56; ( laiuui te*t lint Itngth >
PA6ELEU « 66) I laxiou* ttit paot It^th in lint* J
o im
character * -I, .127} { ASCII plus EJQflLE 1
string « arrayU..*AlSTR] of character;
paQt " arraytl..PA6ELiM»L.«ILI«l of characttr;
VAX
IPaQt,rpagt: pagt; I Itft and right tut page array* )
dont: boolean;
D on: integer; ( nutfarr of pagot count tr 1
FMTIOK KTCUar tt cnaractKle character;
1 ( gttc — gtt ent character fro* standard input )
1 m
\ cht char?
i mi*
2 IF (tofl thtn
CieftOHlf
ELSE IF <iotn) into
llOin
Rtadlnr
etOEIJLlNE
tnd
ELSE
login
Rtad(ch);
ci ^4 1 col $
56 B
59 ft
40 ft
41
42
43 t
•*C!"<|
2 m, ( of e*U I
1
I ( gttpagtnuootr — fttt tM pagt ni*4tr (rot tbt parootter )
I < patit* to it ii SrSPMM fro* tht coMind hot. )
1 var
64
OD
i: lfltt9tr;
65
-2D
RCTUftN: cnar (
66
-ID
fitgfn
67
i
RETU«N:>c^r{lClI.IN£ij
49
6 ;
i:-0;
6?
9 ;
tttili UyiparaiMO ) and <Jt7y> DO
70
32 3
itrsuccdli
71
39 ;
irsparaihl:<*ET(AN;
72
51
I i:«lr
73
S3 ;
If mparMfOJOHniKK Titn
74
47 :
I C'tnpcfcnvtrtaMtrsPJrauM;
75
77 J
pr)t«»;
76
SO
! End; ( of fttpagtnuaocr )
77
1
78
RftCTlQU 9fTLl*ivir si ttriogi iiisfit: inttgtr): booltan;
79
1 ( gttlim - gtl a lino of tut frot itanOard input )
90
1
Var
HI
09
1 1: intt9Ki
92
^20 1
ch: claracttri
93
-4D
Itgin
94
I i:*l|
85
4
! Rtptat
96
4
! shh'gttctcH;
87
27 :
1 i:»»ucc(il;
99
30
1 Until (ch'EKOFILE) or Ich-MEMLfMEl or if«w«tift);
89
45
1 IF cruEHOflLE thtn ( gont ont too far )
90
52 :
1 ic*prtdt$)|
91
55
I s(U:=END$lR; (4*fk tnd of string)
92
49
! gtt)int;Mch<>£NDfILE);
93
75
I End; < of gttlint)
94
95
1 PROCEOtPE OUTPUT 00U9LEPA9E;
96
( Taktfc t*o mputtttf text pagts and outputs both onto J
97
{ oot pagt )
98
Var
99
00
ijfltis inttgir;
100
-4D
9t9in
101
! ii'h
102
4
! Khilt i<=fA6CLE» Do
103
ii :
1 login
104
ji
I IF j*64 (HEN
105
18
\ 9tgjn
106
18
I orittr '|;
107
24
1 FOR »s*i to ftnrLIKE-4 00
108
39 '
5 •rjttl' 'Jf
109
57 i
I •ritiiPABE ',pn:4);
110
72
I pn:=succ(pn)
111
74
\ End
112
79
1 ELSf
1(3
92
1 9tgin
114
82
\ IF ((Ipagth.llOCUDSTftj and (rpagtli,l](>90ST8>l or
112
129
1 (UpaQtti.lMNDStR) iri lrpa?tIt.lK>€ltOSTRU or
114
177 <
Ilipjgf^UOEXPSrt) and frpagtti,12<»SlR)i TUfc
117
229
> ligtn
118
229 !
i witir a )|
119
234 «
i o:*h
120
239 !
\ KKILE llpagth.olODlDSTX) and {hXMUTNE) Do
121
278
i Btgm
122
278 i
y unttiClHIpJtth.n}]);
123
309 i
I Oi»svccfnl
124
311 i
► £nd;
125
315 !
i IF nOMlllht Thtn
126
322 1
» login
127
322 i
; FW «:=n Tfl MtLlNE 9o
128
3W
r irUtr ');
121
351
\ w f
130
331 :
» orittC ')*
131
J59 '
132
399 !
\ if i<>3 ncn
135
SIS
\ lagio
131
343 i
k m«lf
135
347
^ Mtilt (rp«t«ri t oK>aiOSTR) and ln<MIL)nt) 0o
134
403
r iiio
137
103
r •Tittlchrlrpaftti.n))!;
139
434
r m»sttfcln)
139
434
r End;
140
440 i
I ad)
141
440
5 W;
142
440
\ i*4i
22
'68* Micro Journal
143
440
3 iritfln;
U4
443
\ l;-tuccU);
145
44*
J End;
H*
44*
I End; ( o< outputdoublepage )
147
14?
1 Proctdurt BfTPASEUir pg; page; vif do fit: frodurO;
149
1 t getpage - gets Vie page of ttit frot standard input )
150
1 V«r
151
01
1 i.n; integer;
15?
-40
1 I; String*
153
-26613
1 Begin
154
1 m Ml TO PAGELEN 00
155
17
J bcqs rr
156
17
J IF Jnotldoni!] and (|9t) ir>9 1 i. NAILIVEl } thtn
157
33
1 begin
156
35 <
*i'l;
159
37 <
IF l«(nK)HEHClN€) and UtnlOENDSTRI then
uo
77
) begin
16J
77 !
S REPEAt
16?
77
5 pg(i,nl:ss(nl;
163
120 4
I n;=succUI
164
122 t
I UNTIL nCn}=N€KLI«EI or uin]=EHDSIR> or <i*WILIN£);
165
166 :
tndj
166
168 i
IF n<H«LI*E thtn
167
175 !
i pg[i,nh'ENDSTN
169
196 !
i ELSE
169
201 !
P|Ij,n-]J:=EKP5Tfi;
170
226 *
1 tnd
171
226 <
ELSE
17?
221
< Btgin
173
229
1 pg[i,|]:=EN0STR;
174
247
• pg[i,2J:»EN0SIR;
175
266
1 doni:«trur
176
2*7
4 en*;
177
270
J End} { of for ntit looo 1
176
264
2 End; < of fetpage )
17?
180
I T Kiin progm >
111
! BiCin
IB2
I pnt*lj
163
6
1 gttpagettnfteHpn);
164
12
1 dont:»falm
165
17
1 mi If not Stone) 90
186
24
I Begin
167
24
? getpifieO Page, done);
168
33
? petpagelrpjge.doner;
(69
42
Z outosttdwbltpagii
190
43
! Dvdj
m
4B
End. < o< UPAS? proorae )
PHOC HAKE
N9PAK
PSEC P5IIE LOCAi. STACr CSft CSUE B€W6
30 14767
10
1 SETC
1
36
1
IS
2
2 CETFAttK
I
II
3
16
3
3 601 [ME
3
77
4
13
4
4 OI/TPUTTK)
4
450
8
15
6
32
5 6ETFASE
7
286
270
13
1
10OO
13073
61
32
191 Lines of source code coepil«tf with no erroft found
Progra* DPA6T:
( 0PA6E it inspired by Urn; tan *nd Plaugtr » book tit ltd)
{ SofUart ?ooU in Pascal'. }
( It nip]» tales a previously fcrutted flit Of tttt )
{ md ouildt a ni* fflr of dual coluin tent page*. J
( This particular progra* eipicts to read a filt of teit )
< forutttd Kith 54 colutns per hnt at Mp to 64 I met >
( ptf pagt. Uii i version tot\ not itnp header or foottr 1
{ lints oor does it priat pagt nniben. 1
< 1
< Typitil coteand lint: }
< PivraU <iourct >deetinatior> Bpagi >
{ or if toejilad into oatue rode: I
{ Bttfo (mb/ci Welti eat ion >
M I
< It E.B.Ool lifer on Sep tetter 6. 1912. )
0OTST
1
OS
:
00
3
0D
4
00
3
0D
6
00
7
Oft
6
00
9
01
10
06
1)
01
12
08
13
08
14
Of
IS
01
16
08
17
Of
IB
08
19
88
20
0D
EKOFILE = -1; < tnd of filt earker 1
21
00
HEMLINE - 13; ( carraige return 1
22
0D
EKDSTR * 0j < null }
23
09
SPACE = 32; ( spate charade* 1
24
00
25
0?
KAISTR = 132: ( mi tut string length )
26
OD
MXLltt * 56; i ttxieut tut hnt length }
27
00
PASELEK = 66; t Mntut ttxt page length in lines )
19
0D
29
00 TYRE
30
00
character * -1.127; { ASCII plus EWF11E }
31
OD
string ? arravC 1 . . HAZSTR] of character;
32
0D
page = arrarCl..?A6EL0l,l..lV)XLINn of thartcter;
33
00
34
OD
VAR
35
OD
lpagt,rpage: page; < left a*d right feit page arrays 1
36-147848
done: boolean;
37-14765D
38-147650
FUNCTION SETC(var c; cheraUtrh charatttr;
39
0C 1
( getc — gtt ont characttr froe ttandard input 1
40
OD I
m
41
0B 1
cfu char;
42
-10 1
mm
43
2
IF ttofl then
44
8 3
ci=EHDF!LE
45
9 3
ELSE IF itolnl then
46
21 4
Begin
47
21 4
Rtadln;
46
24 4
c:=Mm)NE
49
25 4
End
30
27 4
ELSE
51
30 4
Begin
52
30 4
fttadUH;
53
35 4
rrsordictil;
54
45 4
Efld;
55
45 2
getc:*c;
56
53 2
END; ( of getc )
57
1
56
1
FUtCriOft SCTLlNEUar s: string; WtUfi mttgerl: boo'ear
5<?
1
( getlmt * git a lint ot teit froi «Undartf irput 7
60
1
var
61
OD 1
i: integer;
62
-28 1
ch: character;
63
-4D 1
tegin
64
2
««lj
65
4 2
Repeat
66
4 2
iti1;-gttt(ch]j
67
27 3
f rtfucrUl;
66
30 3
Until tch*EK0fILEl or Uh=*£HI«Ei or (i^Mxtizt);
6?
45 2
IF ch=CWFlU then ( gone ont too far 1
70
52 3
i:*pr»dri);
71
55 2
stik'DUKT*; itvl end of strin*>
72
66 2
fttlint:*(ch<>€l0f]LEU
73
75 2
End; ( of get lint!
74
1
75
1
fWCHH/Rf 0VTPUT80V8li?A6£j
76
t
{ Takes tw inputted tut pafec *nd outputs both onto )
77
1
( one pi|e 1
78
1
Vv
7?
06 1
i,n,u integer;
80
-66 I
Begin
Bl
2
it«l;
82
4 2
HKHe i<«f#SO£K Do
83
It 3
Begin
64
11 3
IF ((IpageCi.noaiDSTRI and frptgeliJIOCNDSTR)) or
85
38 3
HlpiotfijKllDSTRI and irpegeti,ll<>EN&STR)l or
86
106 J
((IpageCi.llOERDSTR) and Irpagtti.lMMOSTRll THEN
87
157 4
Begin
IB
157 4
writtC *rj
89
165 4
n:*l ?
90
167 4
II1ILE tlpagetj.nlOEWSTRI end (IKMILIRE^ Oo
11
203 5
Begin
92
203 5
witetchr <lpagtJi,n]));
13
»4 5
n;=succln)
94
236 5
End)
95
240 4
IF nCPMILINE Then
16
247 5
Begin
17
247 5
FOR i:** TO Mill* Do
IB
239 4
■ritir "J;
11
W 5
End;
W Micro Joiimal
23
100 277
4 *-JtfT ');
loi m
102 205
4 at*!;
103 297
4 Khilr lrp*grCi,nJ<>E*OSTR
and 1n<KAtLINE) 0©
104 323
S Big in
105 373
5 »ritfUt)r<rpjgfti,fll>)j
106 354
5 nresucctn)
107 356
2 End;
LOB 360
4 End;
10? 360
3 tmtiln;
110 363
3 it-succCi);
111 366
3 End!
112 36?
2 End; ( of cutputdMblcptQf )
113
114
1 frocidurt 6€TFAS£{var p^r p*g»;
fir door: tool tin!;
115
J f ortpagc - ijrU on? pigt of t*M
fro* ttudird input )
116
1 Vir
117 00
1 i»fl: intiocr;
U? «D
1 t; Itr ifv«J;
119 -2600
1 Bioirt
120
2 f« u«l TO PA6EUK DO
121 17
3 facgi n
\7i V
I ]f <not(tfOAf>> Afltf (9ftJint(t T *AllIttli thtfl
123 35
4 U?in
J24 35
1 n:«l;
J25 37
1 IF U(nK>P€lfL]»f£) ind U(r
lOEAOSTR) Id*
126 77
5 ttfjfl
J27 77 !
1 REPEAT
128 77
5 H(i,fth»f(ft];
129 ]20
i it*MCc(nl
130 122
6 WTJL <i{n]***ll*£l or
ilnJsEKOSTRl or InMAlLlftO;
13! 169 !
i fftdj
112 168
4 IF n<NftlllK thtn
*33 175 !
i >Oli,nh'IMSTR
134 196
S ELSt
135 201
5 «li.e-Jh«€HOSTA;
136 226
1 end
137 226
1 ELSE
13* m
4 Bt9in
[39 229
1 P9fi<lh*E«0STR;
140 247
1 pgH,2J:»aiSlR;
141 266
1 do"«i s true
14? 267
4 Kd;
143 270
J End; { of for nut loop )
144 284
Z Eftd; ( of 9ftp*9« >
145
146
1 ( Kiln praqrm )
147
BfQin
MB
t doniMiJir;
HI 7
HHILE nat(dontJ 00
ISO 14
2 Btgin
151 14 ;
f gftp*gt(lpig»*doni);
152 23
2 ottpi^rpagt.dan*);
153 *
outpatdoubirpaot;
154 35
I End;
155 IS
1 £ftd. ( of 0WC progra )
NX tM
PSCC PSI2E LOCAL STACK CS£C
csiie oc*ue
O0M&
8 40 J47» 11 9
i sm
1 56 1 15 2
2 6ETU*
2 77 4 U 3
3 0UTM80
3 370 8 15 5
17
4 6ETPA6E
4 2*6 270 13 9
121 15068 67
17
155 Um of io*c» coil e«fj]*d vith no frrort found
TURBO
I needed more memory. I hove on application
which requires fast access to a data array- 64k
Just lsn r t enough memory on My OS-9" level one
system to keep everything going. Level one can't
handle more than 64k. I had to have Instant access
to the data which was now nearly 16k all by Itself,
but 1 also wanted to use the system for other things
while the application was running. Level two OS-9
to be the only answer .
I found an alternative. A conversation with
Jerry Kopple at AAA Chicago Computer Center lead me
to consider the Computer Excellence 256k DRAM board.
My Elektra" CPU-8/9" board doesn't have a dynamic
address translator. I cen # t directly address 256k
even If I had level two. I didn't really need level
two any way I Just needed to get to my data quickly.
If I didn't need such quick access I could use a
disk file. So what 1 really needed was nort more
memory but a very fast disk. The answer Is a
program which " looks" like a disk drive to OS-9 but
with access that Is Just as fast as memory. There
are some virtual disk programs around, but they also
require a CPU board with resident OATs-
The board from Computer Excellence solves the
problem. As the very complete documentation states,
the Computer Excellence 256k DRAM board Is built up
on a double sided glass epoxy PC board with access
to between one and four banks of dynamic address
translators (DATs). It can accommodate severe?
combinations of the currently available 41xx type
dynamic RAMs Including the new 256k chips. With 32
4164s the DATs control the placement of 64 4k pages.
Any 16 of these blocks can be accessed at a
particular time as part of the processor's 64k
memory. Unfortunately a program which mokes the
memory board look like a disk drive did not exist.
I liked the board Itself though and took a chance
that I would be able to write the virtual disk
program. Before I went to OS-9 I had a SWTPc 6800"
system. I have written 68xx assembler for five or
six years now and expected the virtual disk program
to be a good way to learn OS-9 calling conventions.
The result Is the accompanying program. VDSK
took some time to write but was not difficult. I
had a disk driver program as an example and decided
to make the program resemble a floppy. The OS-9
RBFman Interface makes It possible to use not only
all disk access system calls but I could even use
the FORMAT program supplied with my floppy drivers
for Initializing the virtual disk In memory. With
800 extra disk sectors at my disposal I even have
room for all of the system CMOS directory which
normally resides on drive zero. The data file can
be read about tOO times faster with the virtual disk
than from a floppy. The system commands are not
accelerated to the same extent because the loader
computes a check sum for a load nodule which takes
time- In general, data file access Is Instant and a
print file can be read from the virtual disk to the
printer without the slightest pause from a terminal
running at 9600 baud at the same time.
I think the program explains Itself. I would
welcome comments and questions. These should be
sent to me at the following address:
E Groves 10207 Gillette Lenexa Kan. 66215
* OS-9 Is a trademark of Mlcroware systems Oorp?
Elektra ond OPU-8/9 are trademarks of AAA Chicago
Co*t>uter Center; SWrPC 6800 Is a trademark of South
West Technical Products Corp.
* mwt Bis* srmnAro* for m cm/re eicellece icaky mars
• Tnis proa/to utuUtH a diet orivt in iMerf. tain* th»
• oatwd DAT of tfei Cotputtr Etcflltfltf 256k feoird, this virtuil
• ditf umlitor providtt 800 Zit byt* ttcLort rim toctor kit
t m?) to uif « i tuptf f *it din drivo.
24
'68' Micro Journal
• Thii drwtr pragraa provide an IS* ItvoJ oet intorfact to
• tht ftvdot Hock Flit Manjgtr (RIFFar) 4uc« loot* titctly JiU
• * finflt udtd OVivt «itn MM ttctori o» it. Logical tKtor
• retort art trintJattd dirtctly to ofcytical 256 bytt 'soccers' it
• at pnyncal piqt in tht tittudod addftti tpact.
i
• Aattor: K 6ro««t of limWAtf - i atooor cooaaor of MAM
t Cttorpnrot, IW07 SUitttt, Lontta, Kn. 6*215
t
• to install t*o VWK aVivtr it an OS-9 itvtl ofto mtoo
• tbo following coaftaad itouooct oay no autft
LOAD /n/VKK.OtJ Iff on* contaiotog tna VOSX
proo/aa) *
11HC VOSI ^$0 tht systM can 4tni it)
FCtAAT W
{fOflMT -ill rftfault tsa 50 truk
Jo aoctor/track SS floppy dmt>
If you rfltidi to tiki VDSK i ptrotflout pirt of your tyttta
do thm
COPT /WVDSK.DaJ /OO/V05K it. put • copy of VOSK
on your tyttto disk*
-pot j fortatttd dill in flriyt 01 *
0S«€1 /Ol
/QO/OS9B0OT
/10/VOS*
<otc>
uu rtgulir boot ft It
odd vl$*
and of fill
Tna disk in dnvn tl till not bava a boot tilt **ic*
automatically load* WS«
I I ft Jl 1 ft & I « « I
EitcutiM of mi 4] It iccrjinq t*t rut^l di*fc nil
itatt tht OAT in tf ilOr«n[Mll- start. Tin ic:t*alt:*tion
rpvtf.it for tb< OAf «it »t titCuttd S&&1 gnng oft.
DEVICE BCSCRJPTtt f» wo*
Thfi it tht tnforaatton J9»Uo ntt*s to ?tt to tit Virtual
dm wjtor
VOiAfl FCS *V0* femt naat
VOWft FCS -RfF" flit Mfljgtr not
VODVi FCS •VKI' 9tuct drivtr nooo
EttO
«rO€W t*l •
t
* THIS (S THE EW OF THE MIW DISK OCVICE XSUflPTO
* IHinMMIMHMMMIMlH
t
* THIS IS TIC MSlllftS OF T* OCVICE OttVflt
t
WW VD5I
TTL Orticf drivtr for Virt« Oil*
USE /DL;a£KTRA.OGTS/OStO€FS (ft ml to frfimtitts
USE /Dt/EL£lTRAJ€F3/DW*nfOCFS.2 raArfua block deft
E«DC
WVCIT SET I only ont virtual drut rftfmtd
•
* MMMO , 4i ipicf ifljBlilOA I00II0O0
• v:BJUH SIS' dtmt dticnptar
Wfi DRVKS put in plact m static storigt
m OWMDMCKT j tablt for «jch gf*»f
CUfiTBl Rnl 2 ttblt to*btr for t^it aectfi
Cl'R^RV m 1 tVht n#obtr for this iCClii
V,rR€: 9M j f ttit DOJNFQ
-DSrST EOU . total n* rtttrvtd
*
I «MM4t< ^30tHE ««0E9 ♦♦♦♦♦«♦
i
Trrt $ET WrVR^QBJCT
OV SET REfJTM
WO OaEID.OSrWW.TYrT.REV.DSlIIT/.aSIST
Fd Iff accon to public
OSXliA FCS •«$«'
FCI I rti n^ootr
i
• iranch taftlt
t
4 IIMMIMIMMH
• E*W POTIT
I
SSKEiT L0P« IIVWC
iwt vraw
LKH VDSTIl
LIRA VJSK65
L8»fl VDSKfS
LBRA VBSXTrl
• •••••••••••
NAM VQ
TTL Otvict flotenptor for •W
1FPI
EDC
*
t Virtual OiSf dtvict toA.li
I
TYPE S£T 0CV(C»OfJJCT
REV XT mnu)
NOI VOE^VOiM.ITrt.tt^WW.WflVI
FCI If F ootft
fCJ lOf
ftt IfFFD dtvico tottrdllor tdoVoti
FCI VCiUM-l
FCJ Df StF lo^ico typo* IIP
•
4 dofitJt pttb optiofti
•
FCI drift nuttor
FCJ ittf ratt na
FCJ dtvico typo I'SViMVfloHr'
FCI Odoooity •'Ofoflt'/llOfll 4
FH SO I track*
FCI 1 nso ndtt
FCI I /to vtrify
FIJI li toctori/track
FM U wctori Oft track
FCI I no intorltavt
FCI T itctor/tlock
t iHlTlALliATIOl
I
INVSSK PSHS I
im Wm6,U pout to drivt taaJt
1.01 KflVCtfT
5H V.KORV.U fit ta< drivt*
LDD 1800
STO DD.T0Tt|,|
Stl V.TRAK,! tot to hioh count
Oil V.FKiiJ
PULS i.PC go bow
I
input
t REM SECTOR
t
»
t
♦
i
i
o
t
t*«5t of logical itctor i
l«rt»t of factor nuooor
t«patb tfMcriptor
>»9lofial itoraoa
Tit Virtual difl ift rial by caojutitg a 4k piet/track
ta ttttnioo oooory Mf ill bit offiot into tno pagt for a
25a byto 'toctor.* Tla catfutad paft io latpftl i"to tbt
proo/aa i alOVMf ifKt at pto« loro. In tht cast t*sr*
rart) that tht proo/ao't buf for htt on p«gt itro, p^ot
ono 11000-UffJ .ill bt utoo*.
V0SXR9 III! ,1 rtad itctor imtf
BEO KPIDIC tpocial procming
OOREM Kft ROSEC
8CS RIM
'60' Micro Journal
2$
:lrb
13* RTS 9a h<m
a
ROSEC ISR 6TA00* o*t pHtftrkl I oftstttstctr*
BCIRW5
PSHS €C,0,9ffI,r f U uvt MM-KH9 r*9<
101 PTi.lUM pick up buffer jddrtti
ElS l,D , 0* buffadr: |> stctor •
«M WO tntrt H tht bufftr?
ONE ROT.O buffer not in pagt
IK 4,$ put vdnk w ptoe 1
R1K.0 LOO 4,S rtcow track ivoptr
LOT P0i9UF,Y gtt buffer atftfr
iW V.PfflMJ gtt controller jddnts
TFR A,OP I ziMded i rtf.: savt tttpaqt
ORCC l»50 r>o jnttrrupts ■•tit pagt 9 gout
$71 4,11 stap tn paftt itr«k>
cms miimv a « nooo
L9J . to gtt logical adtfr
LSLA
ISLA
LSLA
IEA1 :,I add addr to offset
ROLP LM ,*♦ fr* stc OOOMFOO or lOXKMFQv
STA ,Y* tc buffer
fl£Cf transfer 254 bytes
8&HRJ1P,
TFR OP, A
5TA A,U map piga back
OH 24
PW.SCCAUM.rAPC go hoot
I I4MMM ♦ «♦♦♦#•
ROIERO 9SP P&5«:
K$Rjm
PSHS M
LPZ Pfl.BUF.T iraniftr volute info
IXAV ORvBIM to dn*t tai.it
LOB IOO.SU-1
ROZEU IDA 0,1
STA f,T
9CCB
8PI R02ERC
clrb
PH.S I.t^Pt goftow
• ♦♦♦♦♦♦♦♦♦
6TAO0R 7STB 2 trtt sector totter* only
J* ADCM
PSH5I
ANQCC lift cfr carry bit
TFJ 1,0 . O-loflicat stctor (OOOO-OfOO)
l$RA dwidt JoqicjI stctor I by 16
ROM
ROH ,S . put rttamdtr on stack
LSRA
MS
m ,s
IS«A
R9R0
m f s
LSRA . A*
RCRfl . Mr ilk I (0-31 »
AW ,S . ,$*offstt i 16
AWB Ht . pagts 0*0 in utt alrtady
Tfl 0,1 . l«track I no* <£-SFJ
PILS J , 5-offttt fleeter i )•)
LSRI
LSM
LS«
ISM
£16 A J A*iKtorl (0-F) H
«T5
AKtt CM
UN 1USCT
mmm
I 4M1TE SECTOR
l
• up ut - l*fl$l of loficil sector nnbtr
t I^tst of logical ttctor i
o r«pat* dticriotor
• U«|lrtal itorap
* Nritjng a sector it tht sw as rtading ctctpt Wat
• truster h trot tht buf I tr to tht virtual disk stctor.
♦
VOSKir 8SR STAOOA gtt pagt(trk) I offsttfsectr*
BCS rtR6
P$HS CC»0»DP,I,Y,U say* •orking rt?s
LXl PO.Slff ,Y pick up bufftr addrtts
US 1,0 . D* buffadr: U stctor I
AMA «ro ,htrt i% tfct bufftr?
ONE OK.O bufftr not in pagt
1JC <,S put vtfifk on pagt J
«.0 LOO 4,S rtcovtr track t (C-ST»
LOV PO.HM ott bufftr addr
LOU V.?0R7,U Mt controlltr addrfsi
TFR A, OP 1 ntto'id 4 rtq.: savt tttpjgt
ORCC 1150 no interrupts ■hilt pagt C goot
STJ *,y siap m pagi (track*
CLRO ooltiply A t 11000
ISLA , to gtt logical addr
LSLA
LSLA
ISLA
LEAi 0»i add addr to offitt
MTIP L3A ,U frot bufftr
STA ,!• to stct 0000-OfOO or ICOO-IFOO
0€C0 transfer 25A bytts
BK UTl?
mt PP.A
STA 4,1) s«jp pagt bacJt
CLR 2,S cirb
PUIS LC,0,OP,I,r,U,PC go hott
Hltllt ililtlt (I
•
i PUT/ SET STATUS
*
VOSTPS LOZ P0.R6S.Y point to piraatttri
LOO fill, I ohat itatui aft m putting?
CPtfl ISS.RST rtftori ?
KdlOPffl
cm ISS.tir wtiii (fortatJ ?
ou nr»
CVI ttt.FRZ (rmi W.INFO?
0E0 FR£ZINF
CM ISS.9PT stt Jtcton/track J
KB N0P(R
t
♦ SET STATUS
♦
YDSK6S COMB nono of ihovt or V0SY6S: trror
L01 fEfUSVC gtt trrx coot
RTS
FREHRf LOB IsfT
STB V.FRHrU
HOPCR aRB na for thii drive
RTS
I TEMHNATE VIRTUAL DISK
W5*TH CLRI
RTS no action rtttdtd
f MMtMMMMMMMMMMMI
a EKS VIRTUAL BISK dtvict driver todtlt
i
ETO
OSaEiB Eft) *
SINGLE BOARD
COMPUTERS-6809
SlnOto Boor* CenDufers
lis 5T-2W Updarfa Hep<ri
Sard
When we started the series of reviews of single board
6809 computers, J realized that 1 would have to pcobabty
do some up dates. That Is exactly what I wanted*
Product updates- up grades^ I mprovements- better values,
what ever you want to calf them, they alf staid to benef ff
you, my readers. And that Is what this thing has been
26
'68' Micco ,toumaf
all about I
So, I am delighted to report to you any and aJI
Improvements of these fine products- The newer
feneration of micro-computers have nipped us here and
here, but we have something that no other group of
owner /users have: we can get to the 'guts' of the thing.
Also, we can build It our self .If we so desire. Try to
bulid an 606? system, I mean - COMPLETE. Right you are,
you CANNOT I But, you can bulid a very powerful, complete
6B09 computer, right here out of the pages of 6B MICJK)
JOURNAL^. And these very same boards are part of that
project. In addition there are tt>e bare boards and
other hardware advertised, In our pages, that let you
have the Greatest variety of micro-computer bulidlnq
biocks offered anywhere to that special breed of
I ndlvldual who stiff takes pride In, "I built It myself and
SAVED money In the process."
fn addition, you can buy some of the worlds best
■ Icro-computers right here out of the pages of 66 MICRO
JOURNAL. Then you can expand to your hearts content,
with just whet you need, 'store bought' or 'roH your
own'. No source anywhere offers you as muc !
Sardis ST-2900 Update
We received a complete set of the new end 'Improved'
documentation for tms system after our original review
had gone to press. Still not "Heath' quality but
completely sufficient, and much Improved.
Mo dot-matrix printer typesetting. No penciled
overstrikes. No errors I oouid find. All diagrams and
charts simple and easy to understand, and professionally
done. Above ail, simple instructions on adapting I/O
direct addressing software such as STYLO", DYNACALCT,
RMS'" and SCREDITOR II r. These are the only software
fockages I can think of that need this special
reatment. Once done they run the same as on any ot er
6809 system.
Below I will briefly outline the latest improvements:
1. The monitor has been changed to accommodate serial
ti and shaking- Also, the W memory examine and change
routine has been expanded.
2. The changes to the FLEX* conversion package has
resulted in improved utilities, such as FORMAT and
DSKSET.
a. "FORMAT: This utility which replaces the TSC
newdlsk routine has the following features:
al. LOWER DENSITY - TSC format of 10 sectors per
track single denslly and 16 sectors double density. Or
the IBMC?) J740 9 single, 16 double density.
a2. SWTPC FORMAT - this allows disks formatted with
this option SWTPC compatibility. Therefore you have the
choice of either the SwTPC or GIMIX formats In the event
you swap programs on disk with other users- This has
been a real hassle for some.
3. 35-40-B0 track formatting now possible.
4. Some utilities have been added:
L0AD0 - this offset loads from disk to memory {but
does not execute) a binary file. Offsetting is not
necessary but then the TSC GET commend would do.
PATCHES. OVR albws patching FLEX", which has been a
bear at times for some who wish to Insert user code in
front of the transfer address- FLEX normally stops
loading when the transfer address Is encountered at
load time.
PRTSET - allows printer driver parameters to be
changed - NC t nulls after C/R - NL, nulls after L/F - LM,
left margin width - BR printer port baud rate. Also the
source code for all printer drivers (3) is Included.
SYSGEN - creates a FLEX system file that boots
direct from the monitor. It albws PATCHES.
BLIST - a LIST utility similar to the TSC version but
it fllfs much more of memory with the cal ed text file,
causing less wear and tear on the disk system.
CHECKSUM - a utility that reports the checksum of
any disk fib.
DCHECK - a utility to albw checking visually on the
CRT screen the rotational sp d of ail disk drives, afso
measures the delay time from 'motor on' signal to tha
Veedy' signal to the 1793 disk controller.
DSKSET - improved version that allows complete
parameters for practically any type disk system,
including the newer Shugert SA300 3 1/2 inch types.
0S9.CM0 - this utility aliows the user to call the
Radio Shack version of OS-9" from FLEX. A prompt is
Issued to insert your OS-9 disk. In about 30 seconds up
pops the TAN Y OS-9 banner and you are In OS-9.
Some portions have not been completed. Ours Is an
evaluation sample. For Instance the cfock Is not
Implemented yet, but will be probably by the time you read
this. Also Sardis has licensed from D*Pv Johnson SO ISK
end SFORMAT. These allow both CoCo end standard OS-9
disk formats to run on the system. Considering trie
price of TANDY OS-9 end Bas1e09 f this makes for quite a
savings- While not spending a lot of time with this
version of OS-9 (we have several OS-9 systems, ell larger,
Including the GIMIX III) I found little to fault, even with
a 'Beta' test version- Afso, because of the DUART used
end the addressing space of the 1/0, in OS-9 tl«re Is
available 63.75K of RAM available. No 'holes' In the middle
of the address map. This should be one of the 'better*
0S-9 level 1 systems, due to the memory albcatlon.
Some enhancements being considered for the future
are; booting from a 46 tpl disk In a 96 tpi drive.
Expanded memory, and possibly a OAT configuration for
extended memory applications.
All In ail. as I said before, these Mttte 'jewels 1 ere
great for those desiring a complete 64K FLEX system.
And now OS-9 also.
As the others pass ebng to us the updates, upgrades
end Improvements of their systems, I will report them to
you.
DMW
MICROKEY 4500
MICROKEY 4500
The Ukey 4300 Is en entirely different type of SBC. as
compared to the others- First, It has normally 126K
bytes of RAM. Secondly, It sports many different CPU
devices -W65SC602, W65SC816 6502. 65CH2 and the
6609E. Thirdly, It also has fl er-optlcs 1/0 as well as
hardwire. Ana the coior high speed, high resolution
graphics are superior to most any microcomputer now
available!! In addition it cart fell Into the (1500 class
as the others do. However, fuf*y loaded, It will exceed
that price by a couple hundred dollars (special
Introductory pnce - see advertising)- The normal price
will be somewhat higher depending on USA distribution
shipping cost. Import du + fes and all those other cost
that qet added on in the norm I oourse of business. But
even ~at twice the Introductory price It will still be a
bargain!
ANOTHER VIEW
Beiow is a users comments of the Ukey 4500 as we
received recently* Although we have a complete system
inhouse, I thou grit you mfgnt like another view from an
actual user, who has had somewhat more opportunity to
evaluate the Ukey 4500 than we have so fer-
Kt. 9am vi I JIM* It.,
C^twt-r 1S*11»M«* CiaKf,
• 1 Jllcro J»u/«4i ,
4»0 CiiuMn With.
».9. *** ••»,
LiMo. T« J7JO
i; 0J4 Caarlaoc fc»M
■»i.**.rtB. c. Th»*t
KJ«41imi TWIT Ul
Hi Had Hula
T«i*f*wa«j- totiu mm
i* i
l**i
UUiU ±VX ilMll JMrt Ca— >m»r -
z ¥»• pImm* to •*■ t» •*•» BtcaMr ihw t**t y* aat. iMm i* «*• it*
Htrtht? 4MB [• ***r il*t *t iltiLi t>«*rd IB1 lafmii. >*4 I taw ibi U«l.
laaaai l* J.ll.trl** « H«l t* t** *• I ariia, X mm a tmmmtmr JmuIUi mm*
inwliiiit cad a* tact T •*** aai a Kcittii f+r **alaatlaa lor aaaa mrt t< Q»a*
■mai p>ti*i I ln« art taj aaralaa iiaiuU T , *** •MlatalaaJ * *l*l*ia* «it*
p*t# bailcT. taa l«L|Hf ml taa »t*i4. mm la ay flMLafi aaJ *aU**t !•*• ■ It Hal
I taa lay *»1t tula ta aria] aara ««a*rl*ac« ale* <aa c— * *r > tact u fWTt «al
alia Mtiajtt raw*— aMar Flaa. taaa *ar«ai alia. 1 taraSl alaa atWa aaatlaa
tkat t *tpm4" IViTI tafaai* taa *n« laaai 4nti*l »* It. »•* alaca tftaa I aava
mm* M ataar 1 «■*««•.> h 7*» ta MM«(a# a*% ikrlllM I aai to lla* tn*t KUraaay
tm firrmvt ■■ aall mm tlm. la* aa l\ rtataaaaia* taa aaat al all t*a«ltia
aattlaaa.
I »tll aaM «a aaailaa al a» fl«41n* •• tms m taa «*r*w>r * U .avaraa* a«aa«
rJua u *4j tMt 1 htt laaai 1C aa«allait» aall tt*a»al *ai. rabaai aaJ rall^lv-
•m I aaal* Ilia «* aaaa aoaa aaiata trim « aMf't T*tal aff alaa.
68* MrctD Journal
21
7b* ayataa a-* I bm li li cot(l|ui«d far twu to ay Hlcfo Srl*aa ■■ Orim *«ra
and ooa. aod ooa 4" S) track alagla-doaalt y *lagi*-*ld*4 drt«* j* grl«« 1. Tba
laay drlwii *r* aagalllcaal. • v*ty Jaaa« capacity aad • vary f.*t data taia, tt"»
]wat Jib* bavlaa a hard dtab aa )U«. bad tb* |" drlv. **Laa lr«At^irrt*i aoftwoT*
fraa athar yi« .rata** »«f> »v*>i«. t h«*. two aoaltora. ft** Color and so* blarb
aaa ablra. *o» two b*yb aida. al u* ay »*l*y-v!\aaJ sriataT keoUa la. I alao haw*
«.e«Ba)(xaiioP w»tb d04| toaovrtr* ta tba bt>ua« via 15212.
1 waa aaara «*ry **rly •• *>• tba ftraalan* •! r*-coa(lgur lag aoo* at a* ?laa
aOtt**r> ta ru* oa ftlctokay bacawaa of tba mj ieft»ir# l tM Waa* ale and TXS
Icaiy ta addr«at <** Motorola aCIA dlrattlf, *«»<* KKmWj win a vary aTTtrraul
4r*t«a (art of Dava' ■ d«*lg* ybllooopby. ta* /«.*"* cbata ta ao Jlnl* *re*-l*laa
Lot u»«t [/Q, hi tbat a»*i **Sa* arobiaa* ara aaaoclatad w* lb 1/0 Itaaa. and l»<*
aaat *ta| a la Uv# daalgo waa ta dr»*lor A52);*4tI*«* UbrwPttlC <Pwwun ttat lata «*
a atairiit Hay btarl $» orda* to aor* awtt tin 4VM) (or control rurpoaaa La
lactory aaalraoaaat*,
Tba aaclaloa wi aad. to ant aaly pro»14. tfca llbr«-**rlr taaabntty, bai ta
aaa t« Motorola ACU'a aa rear aaa ca«ii« olfbov book u» tW (tbrr or Ju*t alia) la a
a*?*r*T* taraiaal. or l»U. t bana t*« a ratal y»* board oe a« *lcro««> *i tbla
aaaaat. aaa tt wib kHutklwUr-
1 can tip all rtc'a >lm **|tv«r« v»t»g tha RJcrnkav a!***-, all t*« aaftwar*
•bleb am Flo Mr all or tta caawau itlatta work* *Bty bayaiiy wllb tew calor
ojoaltar ad lUcfokay'a larboard. For t*a difficult **»<«ot* I rlwm la «7 CT-*J.
tyy* *♦€»*" oi Md^iT'i Uy»a*»d. Bad t *■ rwaoloa tt* )Ucrot«> ualm **. CT»*J
aa a aayavata aCltWrl*** taialaal.
tav* la saw goto* to "too*" tb* ADA aact lata lb* ar*taa, aad tba« ye* vll 1
avt oY«a aa*D ta> anaj ia taa aapaiat* tarvtoal, )«a>t diract c t a nai tratloaa to t>»
a£Aa aaa Kicroaay will baaava •• li F«v bad i.^ik! (a • aaaarata raralAal. to you
oava taa rtet^a. Fliai ta a taralaal aaa mrcvUr *tl I <«art wltb It. Cfc»l«at taa
caralaal aad Mcrabay wtll kaba«« aa If II had a tanalaal tm lt«a <a lar aa tba
aa^tuara la coataraaa..
I* mb*b la aa aa ba tba baat o( all aoaalbla worlda. Ulthauz cafml"! 1 hut
taatad aeai o( taa aa|ot aacb^^, all tba TIC VTU-ttlM. TIC Faacal. Aaab. Mil.
Tt* a»»ia>, Sgrl^Haiia. 1 h*r* alaa ta ataaj U*t tdata faacal. Ll aa, prT'a »rlMU
Olaaaaaaablar. aad <Jta B*adr«*h aaltVBra I tba NaCI aad It* (aUr aad Ft/>. All o(
ta««« rat «1U Itttt* or aa ajod I* Icactaa.
UltB tba CH2 *Lx4|ad la 1 hava t.»t*d "hoaealc. W9. aaateO* aqd Fataadad
U«U tof TSC), aad Joha aatavd'i tCttfiifrjb Hi, All a/a wall docsaiaataa a* to
ta>ca«illt*tlai (or a dtffaraac AClA *4dn»i <abUb ta eltii all that t» B *«4a4- Aa
ra«dat* vllt baaat, aaay «»l tfcaaa Broftaaa coma atth c >b ( t t«rat 1 1» Hfian atttcb
arwfti for all tba taralaal aatf kafboard ehaf acCarlatica-
Tba oolj alicbt problaa t baA «ati ate* Or>atalc. Tbat aro*>raa ta aa tjar
Triaadly tetat It bacaaiaa a paia ta taa aa<i to ra-c»a£tj»ra it. I toat tba M ay ^mt
<n*t- 1 <«*l*d tba aaralaa t bad aada (ar tHa CT-ll to BUcrebar'a io*t 4fl*« aad
cbao cbaattad tba caa bT**a at JOfldf Iraa JCFID (|Vt vaccar) ta inFOO (KlcroaaF
vac; tot).
Of COataa. la tba I laa avallabla. I caaaat el«ta u> bava aabataitlvaLr t«atad
all u( tit* aofevara 1 h«v« llatad. but 1 b*p»a tt ruaatOd •ad I hava out taat
arotraaa tbroufb all or tt.
vary aaxly oa 1 brovj&l u» Talbak'a t B 9kTK» aa HlcfT>k»r- t will aat
rac0*ja»aa any aoa-FOtftt uaara to trr tbla baca^a* It r#«!»Lraa a litila
waaat ataod lad a( rObTl. *a surcaaaao (ar «y tVT e^aaatar. Talbot ta caalldatad (ar
m« J" drlvaa aa aara aad oaa. aad taa •" drtvaa a« §*0 aad tbiaa* Ofealaualy tba
ra^alalta fraraaatara b**« l* ba cba^caj la arda (91 It bo c9b*U< (raa tba Sooy
Alaaa. lacoaaly, tba aeiaaa aUtaat at Talbot a«*ac ta SaVO ta taba caca a( tba
aldbtb bit o( ASCII ctvaractar* I FDaltl u «aa tbat bit la oaaa llaiaa). aad «U era bay,
<ltb ita (all ^alar aad ht»b raoalutloo b<a**lc*. p^trn* all attbt. bit* ta tba
•crtt|< tb« d.fUltloa e( cba Mff ward "19." auat ba ra-^rt tr raa m •• ta kill cba
alabta bit. aad tbaa U *uat ba pat* bad laao tba urvl. otbarviaa a dlctioaary «*<aaa
wtll ba dtiflealt ta caad. Tba w>rd» wblcb aat u» aaa c U aai JU cata wttft a aarJAl
lacar(aea <t-«tB TSKK C#SO aad CI5£L» *aaa ea b« r-^rtttaa la at*»f ta ba abla ba
naa KlcMkay'a uaar aarLal Jr>tar<ac«, altb»a«b tba* a«at alua ba ratal*** la thair
arlalaal (ara la ardar to «c<«aa tba Caw bCLb'a aa tba ccaaaaatcattaaa board.
TA* *cr*ao ad C lor baa to ba rocaailtW«d ta at a* fa aala u*a of diiCacuat
c«Btrwl kar» aa t** ka«baaad . altba>alb ta« (lb 11a* adlter. of <*ur*a. wtll work
wttaoax aat cbaoiaa. Aad a law »rJalttv«a aad b|gb-ta*al warda *aad aa ba wrtttaa
la araat tt ati Hiefobap'* Xo*> rout laa* (or cola* brawblao. Ft aal It tba *1CY*
Bcraaa. aeraaa. *3, baa ta ba ■odlftaa |a drdat la lacarporata tba cbaaajwa*
All tba (oruloiaaj i«, trlTlAl aad wary aaa* to do arawMad T»u >*M«r»taod
fl4n*4Tm aad tba MatlcU-ar taata-aa talloa tw^ wt*b u Ha VC «, *ttetna*T- 4ti
«aa*ataa. a ta *im Talbat **** ocaloat ^lyFCJifl l* tbat Talbat uaa* dtaba
(araattaa ta Flaa boraat wbataaa aalTltaMl waa* a *jb1i« dtftaraat (ofuat. Talbat
caa taad aad .a Ita flaa taac fllaa aa -alt aa iba aoraal nSTl Tlrc>a\t aamarr
blacba. aad It caa waa dlaka partltloaad ta ba aaft virtual aad Nrt Flam. So tc
ct* Wk. Ulaa of data oucamj tt<m «| at Oraacalc i«*a tbat data la *a artllcatlaa.
aad ii«B aaad b*« data back lata i*at Itlaa. II I u wrltlaf about T^bTTt, tor
laaeaaca, 1 taa taad a llarlaaj at POttl acraaaa ta • Flaa (11* ubara T*C'* r» caa
IftOorFttfdt* it lata taa bad* at ar artlcla.
1 b**a luat roaplttai a **aad« (lamtJadj aalai ta fWT" lo? Mtcrobay. It laa*a
aad aata liba (loattaf aotat but la la (ace aaclraly tatagar aad acataa aacba.
laclwdlaa ataa aad c«at«* roue L«m« ■ wblrb 1* yaad Hi B calaa gfaabjca facbaga
ubtcb uaaa watt la i» aaletvat 1 oaa la ardor ta ttodoea mtatioaa. aadjaldc at io*a ■»■
Tba r alalia ara wary Tdbt aad t*tar a aai«*. raal-ttaa calor mUuiIoi aa NVcrabay'a
Simc k«01.
Tba aUcioba* auaaort *a*lroo***tt Caad la fraa UH at auaa«^ V p. taclfdaa • boat
ar Aiabrouttaaa ublab tba latar caa call •* iaaaba aeraaa* baFbaaaTd aad arvtwa
(wKlloaa. Tb**a ara aarttaalatly aaaT (ar TOdTa ta accaaa, iba aaar ba* aaly bo
ouab aay raaulfad aaraaata ra aata Iba »t*<k aad tbaa aaaaata aa tad U act itb.
MUroaay (uacctea ward* caa *ary *«atty b* wrtttOO to cba*aja to aad froa colo* aad
b«*4, c"oa«a taat calar aad grapb-ica 0I00L color, draw 1 loo* 1*1*1*1 n coordtBatoa*
slot eaifira ate. Cr*a*lc» baa taat caa ba (f aaly lataralaad Ow tba aeraaa aa caa
taa color*, * tba uaar caa crura aoaa raally duallag diaalapa^
Aaatbar Caaxtloa. wblcb i ba*a tabtadl bwc aac raally uaad ta aa ajollcBtlba aa
yai. aUI awttcb aadwara (rwa »m «JlM badk ta tba albar. Vary «a*(ul bacaiaia yoa
caa wa* Lt aa a aart of "aaM Dllf la ocdar ta awltcb aa apaltcatlaa o**r Co eh*
otbaS tab at aoa* aotat la It* ■aacatlao, laWaka aad aaaauta a a*C*aj| aotlUatlOa,
aad tbaa awltcb back tba fLrat aad aaatlawa Ita aBacwtLavj-
I b#*a baa* laoklag far aoaa tloa for • bultdbla *l«Jjla t.oaad gaOv wttb wblcb
IO *wa0l***ot ay «g«ia« tvf baa. 1 Ka*a aow dacldadly (owad Itl ubat ta aaca. 1 aa
fjutttag ay ooaay wbaro *» aoutb 1*. Tbl* lUcrokay la alaa. I h*v* tcaaafarrad. all
■y wit 9 ita it. Cba WT kadVt b«» awttcbadj oa far tbraa aoacbd^ aad nieiabay ba*
aarlermoi lattitlaaaly. Doa't ba aat off \t y*u at* bat • tail aaa, tbla Lb a nar*
vary dood Flaa caaPwtar. good am a eoaayuiaf oad goad aa a dw»pto*o»dt 4a4 tootrol
• yaraa. bat jwat a*U tba rc«T> capability a* wall aad it baa ta ba triad bo ba
balSavad.
riully. It yoa Hold llba llatlajt ar arbar dataU*. JadK **!■ bad aayaai
os*. ta*r* wbo ba* a freblaa wlcb xbl* board. Juat wilta. I'd bo bbaoy to balpj.
Taajra aj^aaraly.
While the system is capable of running both the 6502
and the 16 bit version the 65SC816 CPU. we will be
devoting most of our attention to the 6809 aspects of
the Ukey 4500. Therefore the following 6502-65SC816
discussion Is far from a complete overview of their
capabilities* However, the basic system remains the
same, It is usually supplied (and priced) for each CPU or
combination of CPUs*
The 6502 runs both Forth-79 and Fig Forth. Built In
editors and assemblers are part of both Forths. As a
control language Forth is Ideal* In fact Forth was
developed as a control language for one of the worlds
largest telescopes. White the use of 'reverse Polish' has
never quite agreed with me, I know many professional and
hobby programmers who would use nothing but Forth. It
Is an excellent language and Is probabfyone of the most
easily expandable MLLs available today.
The 16 bit version (65SC8.6) can address 512K RAM
configured as two 256K banks. Clock speeds for the
6809t and the 16 bit CPU are approximately twoMhz, but
the 6502 runs at a slower clock speed.
The color graphics running under Forth are so
dazzling that words cannot describe theml The speed
and resolution Is some of the best we have ever seen
running on ANY microcomputer!
The 809E Version
The 6809E system runs FLEX**, Talbot's tFort*i+ and
polyForth. Now talk about your color graphics speed and
resolution, even betterH Also you can run all the other
popular FLEX software with Ifttj© change (see Frank
Date's comments above).
The FLEX system also allows you to run all those ohher
applications - business, accounting, 0Ef1 and software
development, spread sheet, word processing, etc. -
Including hion resolution, fast speed color graphics-
Text and grapnfes mixed If desired.
Of all the SBCs we have reviewed and tested todate,
this Is the most complex, and therefore, this review
cannot cover all of the advanced features avallabe on
the Ukey 4500. However, below Is a brief overlook of the
specs:
DM all devices except the 6502, from expansion port.
RAM - 128K, two 64K banks, expandable to 512< with
W65SC816.
REFRESH by video controller, RAM first cycle, CPU
second.
EPR0M - 32K, two 27T28, 16K, two 2764. EPROMs can be
switched out completely or replaced by external plug-In
EPROMs.
SERIAL interfaces - TX f CTS,DCD DSR,DTR,RTS provided at
RS232 port. Connector 25 pin D plug. 16 software
programmable rate up to 19,200. Device Is a 6551 ACIA.
PARALLEL Interfaces - two. standard TTL, 15 pin D
plug* Device Is a 6522*
KEYBOARD Interface - two IBM type keyboard interfaces
provided. Connectors are 180 degree 5 pin DIN sockets.
CASSETTE interface - Apple protocol only as of this
date.
EXPANSION port - All bus control, data and power
signals ore provided on a 50 pin IDC plug.
SCREEN 1 - video output Is composite monochrome (B/W),
resolution Is 640X200 pixels, low resolution mode,
1280X200 high resolution mode. Connector Is RCA type
phono plug.
TTL COLOR video - RGB at Til. levels plus separate Til.
sync (H/V), connector 6 pin DIN plug. 8 colors available
In color mode. In monochrome this output Is same a
Screen 1. Same resolution as Screen 1 for tow level in
color, high level is monochrome.
ANALOG color - RGB at 1 volt peak analog levels, with
composite TTL lewel sync. Connector 7 pin DIN plug. 16
corors possible, resolution same as TTL color*
DISK DRIVES - provisions and connectors for Sony type
3.5 Inch drives, Epson 3.5 and any 5*25 inch orlve.
Single and/or double density* Data rates of 125K, 250K
and 500K bit/sec possible. A total of four drives may be
on line and connected. Drive types may be mixed.
AUTOMATIC 'boot 1 search all drives for system boot
program, not restricted to drive 0.
Expansion Port
An expansion port has been provided to allow
extended a* extra 1/0** see flber-op+lcs discussion **,
memory or CPUs to be added to the Ukey system bus. DW
Is allowed provided it IS NOT the 6502 CPU In control.
The bus Is unbuffered, large numbers of external devices
or bng runs of cable will require buffering. Even though
the 6502 used Is the 3 Mhz version, much better timing
margins are possible using the 68B09E, and other CPUs.
External devices see the bus as a lOOpf toad with
about lOOuA leakage current. For data lines the load Is
68' Micro Journal
I LSTTL and about lOOpf .
The bus is capable of driving 30pf and 3 LSTTL loads.
Coble lengths are critical.
Mo Itor
The monitor has most of the popular monitor
functions. In addition there Is the command 'F r to run
Forth, 'H* set high resolution graphics, r l* set inverse
video. 'J 1 set monochrome with sofTware scroll. V demo
Interlace video (useful for 0€M applications - 16 color
with 640X364 pixel display), 'L' load RAM from
communications port, W set color video ♦$' send memory
content to serial port, f T' terminal mooe (enable system
to act as a terminal and '2 r set color - a 2 digit hex
number sets the follow Ino text or graphics to the
specific color. If both digits are not equal then two
different colors will be used.
Documentation
As with the other SBCs, the documentation Is not
•Heath 1 quality. For the Ukey 4500 the documentation Is
sufficient and cover both monochrome and color
generation of both text and graphics. An especially
nice feature Is that ail graphics and any text may be
displayed at the same time. Because of the extensive
use of Forth, Forth Is covered In extra detail. However,
the user should be somewhat familiar with Forth to gain
the full utilization of this system.
Included in the documentation Is Info concerning the
memory mapping schemes. In different modes. The one
thing, missing (at least from our system) is the Inclusion
of diagrams, parts layouts and parts list, all of which
could be vital in event service Is required.
Speaking of service. It should be a remote point for
the system Is top qualify and has been completely tested
and burned-ln prior to shloplng. Our Inspection of the
system shows a tot of attention to even the small
details* And it has been in production and use in
Europe for some time, in various configurations.
Optical-Fiber Interface
There Is available a fiber-opt lcs Interface for OEM
and control operations In Industrial environments. It
consist of a small board thet Is driver from the serial
port and eliminates the problems normally encounte ed in
situations where long cables would have generated noise
?roblems. (see Frank Dales review above) As noted above
wo additional ACiA's become available for system use.
Note should be made of those programs that address
an ACIA directly. As with the Sardts system (reviewed
earlier - and which this article Is being written, using
Stylo which addresses direct to an ACIA).
Conclusion
After using the Ukey 4500 It becomes somewhat
mundane to go oack to a B/W CRT display. You would be
surprised as to how much time can be soent just ploying
with the high resolution color graphics* Having all This
much power and versatility readily at hand makes thinking
up new things to do lots of fun as well as being useful
end productive.
If you order the complete system, you will find the
quality of the keyboard (IBM type) and enclosure too
?uallty and very professional. The addition of a CRT
ermlnel, Color monitor or monochrome monitor makes a
complete system r and at a price that Is practically
unbeatable, for all the features Included. So either way,
SBC or full system Is a bargain at these Intro prices-
Price as of this writing:
Full system, Including I2BK RAM, three drives (two 3.5
Sony or Epson and 5.25 standard, keyboard and enclosure
w/power supply: $1,699*00
Fully burned- in and tested SBC - 12BK RAM, less cTlves,
keyboard and enclosure: S450«00»
LOCAL
Please note that shipping and texeq
For additional Information contact:
ore extre.
it Is a utility called "LOCAL" which uses the SwTPC
Dynamic Address Translator (DAT) to store command
files in your system's extra memory end links them
Into FLEX*s User Command Table so that they are
copied directly from memory when Invoked. System
requirements are a DAT, 2K bytes of RAM from SE800
to SEFFF and, of eourse, enough extra memory.
The source of this program Is written In WHIMSICAL,
which Is now available through '68* Micro Journal.
We have found that a great advantage of WHIMSICAL Is
the ability to break programs Into modules. These
modules can be developed and compiled separately and
over the last two years we have put together a
I Jbrary of them.
We have found that the WHIMSICAL language has been
weJ I designed and has a very consistent and
Intuatlve syntax (unlike many languages e.g. "C M )
thus making programs easy to write and just as easy
to understand six months later.
We hope that the enclosed program will demonstrate
the e features as well as being as useful for you as
It Is for us.
By the way, since Ron Anderson's review of WHIMSICAL
In the Sept. '63 Issue of '66* Micro Journal, REAL
numbers (otherwi e known as floats) have been added
to the compiler.
Regards,
(Mark Armstrong)
Mark Armstrong
12 Saltburn Road
Takapuna 9
Auck land
NEW 2EALAND
Ph: 49B-B43
Z KiH Coootnd FU« fletsdt 'LOCALLY' ic RAM <Filt fILOCAU 17 J(ft 6<
I Co«*)]td far Mln VE* 1.5:54
t by n 6 ftrittronf
I 12 SjIIW* *o*d, flilford
Z JgckUnd *, *r# JtaLwd
t SjrttM ftctujrtWAHt
I II S«TK coHMtJbtt Ml
Z 21 2* lyttt MM 4rm WOO to ICFFF
t l*m**4 Smtu:
I 4*«UEAU<«Uf fHOMfitt oj«c>JJC*<o|tiont>J
Z Flit «#oct HtmU to 9ytt«i 4riw iiU 09 tittftfiM.
I Optioot v$ C Cotiiofw too Hit Coooool l4»t»
Z 1 Fro? it? «trt loforootitti oo Maori wuft
I U IhfcBft Loctl fr rem IN* tm***4 ft* 1th
" STIOMtftta))
* Q*151t«<l!009J
KXSUVi 4,\C4L0rX, or * * *ostro»f'
Ut STOCK ««ordin9 to feoorr End
Dm WOOO-WfFF 4<r M!inj n tlockt
MiOtOKEY Limlled
9Sa> St. James Street
Brighton. Sussex. England
Tel D773-6729T1
Mm MToiiosttftt' wee,
CodUaioCodu StAfF,
tiocrt6lrSttrtt-*C»0O k
CirtTtblfCndti (Off,
tro%ru\tot&K\]
oroc teipiTofOt.'forojrdt
OB* Micro .Journal
29
totfuli Error: code frot 'E4ERR0R';
lodtilr Parst= code froe 'E4MRSE';
todule Bloct= codt frot *E4BLQCr;
■adult EiTtU code frot *E^JTBf;
todule CidTbl«codt frot 'E4CtlDT6L"
Moult Lcid= codt froi 't«lMC';
Z Error Handler
1 Cottand lint Parser
I WT Slock Control
t Emutio* libit
I Com" UMf
1 Filt loader
i begin
Parst;
cast ParitTytt of
fctalA
1: LoidFiie;
CUTable;
ErtcTafilt;
2: H Catalog thtn
begin
CatCtdTable;
Catalog: *false;
end;
if UnNoofc Local thtn
ctgiti
Etjt2(C*dTibItStart 1 M000I;
MTjfilfStjrt:»ICCl2}
EtiUlCtdTtbleStart, 100901;
Etit?(E*ecIabIeSUrt, 10000 1 ;
ProorttlD^ttOOO;
P*rteTypt:»4;
tod;
Ji I
tilt: Error ($83);
tnd |
tnd until P|rs*Type>*3;
RestoreBlocK;
if ParseType f thtn
bijlf
CloseCtdTaiblt;
ii Ettrilnfo thtn
btain
tritt "rJTota] fllocki used: \
•rite ,A N*JFree Blocks retainer
wrTU * > H*JToIjI 8ytr* Stortd: \
tnd;
■nil
tsta»eTo€flL;
I Reset error Hi!}
1 Ntit itet froi cottand 2 s nt
1 Load flit iflto RAf and generate load tap
1 Cnter filt nate into Cottand Tabic
I Enter file data into Extcutiot Table
1 Option! {handled by Parsel
I Otstroy Cottand Table
1 Stt variable to address* of UCT
Z Unhook user Cottand Table
1 Destroy Execution Table
I tik? LOCAL rtiAitialSM
I skip to tnd of progrit
1 End of Cottand Imp
I Invalid cottand lint
Z Restore original OAT configuration
Z Close the Cottand Table
Total Ifctd;
', frteltft;
ToUI8ytf*j
1 Ensure TTYEOL recognised
■ritt 'Null fiit';
ritt 'Cottand Tablt ovtrflo*';
•Mtt 'Execution TaMt overflow';
•rite 'SYSTEM blocks have ctun^d'j
wtte 'Invalid initialisation';
reporttrrorlErrjoi;
m.
*8A:
189:
♦tC:
t;tt:
•Ad)
ras« ErrJte of
bt>9io
lS5}i8M8A:l9B:ieC: EscaptTtfQl; Progratl9:=f0000; STOP;
tist: trite 'rJContsnut <Y/KI7 '; read Ansttr;
if *jis.<tr»*V W ftfrittr£V OR AniMf'CHIKfQ?} thtt
<EscaoeTo£0L; ProorajJB:sl0000; STOP);
i end;
tnd;
MlTL^'Parst Cottand Lint' If lie E4MRSE* I HAV 6<
I Adapted frot todule ty MNtfilCAL OtmOPfSilS
todwie Parse-
btgfh
public
BG0L
SfVAUlNT
Catalog, Z Trut if User Cottand Tablt Catalog revested
Extralafo, 1 True if bloc* usage info requested
Ifrftoottocitt I Trut if Local to bt unhooked
ParseTypt; 1 I - Filt salification
12- Options
1 3 * End of Cottand
Z 10 Cottand tint Srror
CHAR ARRAY Kite t HI;
proc £scaptTo£0M
proc Pine;
external
proc Error tWE ErrNol;
private
CHAR ChllCClBJ,
Alflha«'A 4 , NuiVO',
Sm=' ', E0L-CNRLW0);
I Escape to fnd of Line
I firsts Cottand Liaii Rtturns Nate and Parielypt
Z One character loo* afatad
proc NtitChMittrnalUCI27l|
nnti^Crror Handler' <Fiie EfERlW* 50 APR
todule Error*
btotn
potJjc
600L Err;
proc CrrorlBYTE ErrNol;
titerntl
OB»TEProgratH>{»€FFEI|
proc EscaotToEOl;
pnvatt
proc Error llfTf ErrMol*
btgit
CMAft Ansttr;
if NOT Err thtn
btfin
! Err:*tritt;
J *itt ,J, HN' ?
! Ctft Errio of
1 otiit
: Wi
! HI:
f$2t
I fHx
: mi
I W5j
I «6t
: «7i
■rite 'Invalid drivt outbtr'i
trite 'Invalid fiU oim'j
•ritt 'Orivt specifisd ttict';
tritt 'Invalid cottand line'j
■rite 'Uvalid otttws'j
itritv 'Filt tofi't f Iff
•rite 'lot a binary file';
tf-lte *Cto t transftr'i
OMft proc Clus*
befiA
QM Flt»f0«JtCC02J;
if Ch^'A 1 AM) (*<='!' OR Ch^'a 1 m £&<•'*' thtn C!ass:«Alpha tltt
if CbVO' m Ch«'«' thtn Ctass:««ut tlst
if th'* * OH Ch>',' tht» Clasii%Sip •!»•
if Ch-€0t OR Ch<FltiEfX th«o Clasu^fA tlst
Ctass:>Cb;
proc fict^tTolOl*
too it
■hi it ClifiOtOl do MiitCM Z Eictpt to E0L
tnd;
proc Parte*
* .^__
Nfit
WWL ftflrtfound;
1
CKAt proc flJtrOt'
begin
•tTFUlCn«4<«CMfij
if «JlCFla^*lW then
itfin
ii CItis»AJpha tntn DmCWASCKIhl AM IVI;
tnd;
1 Ubptr/Lotvr Cist Fl«aj
I Nap loatr cast to upper
30
68' Micro Journal
AAfj
, trc< IstErC*
I Tfut H flat ttpjrjt&r Jftd nat one o* !;at
oiftt
*tEAtf:'t:m >S«p AC Clm CDL;
ttd;
HQL ;rK totfiUCM
1 Trut H CI it npt 4 '*Ii3 *ilfflitt dUTKtff
iff. to
*otf»)rCA;<UM<>AlphJ Ml ClmOM AID ClO'-' AW l*<
tad}
ttfit
If Drittfound thtr IrroHliJ);
■rutfoMdt-trutj
If C1»>**0* AKO CIK-'S' tUtn Mitt<0h<i tltt ErrorndO);
NtrtOt;
tfldf
proc PtrtftUtt"
8AA1UIIT NmKMi:*?, ErtMi;
«j«#tOh OK t SyiDr i vr«l SO) ;
u CNtfitvft trsw
ttitft
rVt«0r!vOi
if CIO*. 1 tM« Error (Iflh;
NtitOi;
if CUttCMJplu thtn ErroHlllJ;
tnds
PNttrCbj
Hm(HiH«di):«Cki
•tttChj FiltrOi;
l*MMt:*U*tMi*];
fftd «t:l ActFiJtC* » iMffdr'10;
**Mll»iMdi):« V; i«iiWi;*ajM^»I[
*iot(t*f«i1<> 'C'j I Sit otiiult ntOAiiot
Ni«[llaffMi*n:tW|
iiMtAiMfediOli^D 4 ;
NutlttttMi ♦!)*-* '{
bifltn
! HtitCh;
: cim cuts of
* Otojn
I Mui; PiritDrutj
; Mtht: filttrCh;
do fctfja
•ttt[MiiMi«£ilMi):0>;
AtitCfc; filttrChj
EitNdtsiCitMMli
led uthl lotFTltCH tf Eitldt'3;
(»tt(mt««4i*Ertftdi):'' ';
If CA«V tin <A»ttCA; Pvitfrnvt);
: Error HID;
ftlt
proc P«ritQpti"
I
b*gm
NtitCl; I Slip *♦' to got ftrtt Option
rfnlt lotCid to
ti(it
: C*M CD o<
; •C # i'c*x CiUloft'traij
■I'i'i'i Eitr«]nfot-tnit:
■U*tVJ ftluoilJCihttritj
ttiti (frvl$M)(
1 ndi
I AntC*;
Mi)
rfiilt CUt»"Stp do MitCft; I Slip ltidi*| ttpintari
cut Clin o<
tifji
A] phi: It It J>*rit7rpi:"]j PtMtftttt;
•♦•j PrMT^f«j-2t Porittptij
£0Lt P*rjil T pi:-3;
tlMJ PtrttTyttcHOf
'TlTlis-fitntrjtr * tibJt of *K llocki of RAT <Fii* E4BL0K) 30 AW 64
■odult lloclt
fctftn
public
INTE6ER TotilUttd,
frttttfti
WE CqrrtntltocK«EFFO){
DIHE lloctAtfdrttilfEFF2r;
IYTE AAMV llockdOOOOh
|TT£ proc Ntitltock;
proc Jtntortlloctii
tittntti
•0* Err i
DlYTErYtgrMlOHCffE)f
proc Error HUE Errlol;
pfrtito
•TO Mi;
I BfOTtl pvrpei* ltd**
NlfE SMptt(l00r0l{
1 Locttioa rttrt RAK st^ltd for tmUrci
•ITE AfftAr 0ri|iML[ff],
1 OrigiMl coififurttiot
litgtHOrtf],
I WT jm99
AAHIFFFOJ,
I NT
llocklftfotfCEOO]
t Arm d ilotl lifOTMtlOlr
I III 7 tlloctttd to ^vnai
I 6 *]]oc«tid to SYSTE1
I S m»tit»d to LOCAL
I 1 4Moc*Ud to vOlSlf
I 3
I 2
1 1
1 « IM prntfli
Ma proc OrJoUltlltKii*
Ugip
iriE nit i
for td»:««4 to U 4c
iff"
OriftiinUidi]i-li4|fCHdi)| X lood origiMl nU) ttMdjr^ BAT itifo
If llocftlftfotOrifiMlttiiMOMl IU« AnfiMlllocU:*trM;
Hock[»forOrifiHirili]):>Ml| I Allocate to SfSICT
wdi
Ml)
proc Alitor til ocki«
X
iff It
rm idi;
for Mi:*t: TO If do
logu
l04|tIMj):*0ri|ln4!fUdf
MTC«dOs«d>4|iitiiEM*);
Md(
•TO prot Atitlleck-
Ifffin
•VTT Mil
thill UocMnfofAdilOlO] do
68 1 Micro Journal
31
Oofift
ttfi:««df«l01;
if WiOOO tftta ErrortHSl;
•nd;
if WT Err thon
k#o,Io
»itllock:HUij
|]ock!ifotK,)t*2]i
]MflttOh-IMlJ
MTtOh4k)ii
ToUtlho«:-ToU]lfcod*lf 'rHUfCFroolefM;
proc Findllock*'
booia
IfTE lEocl;
for llockiMOO to m do
if Itocklnfotllockl-fOO Urn
0*9 1 ft
ttagtI4]:-1]ocki
MTHlullock;
Sioplti-CORSDCim.ltocklt
if SMOicCOnlltftt'Mlock) th«* Iiock!r;ftj!ft!ccl]:«l01j
Roller illocH;
1 Rtttort onjiniJ :onhfw-«t;oA
tf f>o|no!QOiC!U m .4} thw
btgia
for i*i:«IOO to IFF dc llockfnfonidt ]:*I9C;
friajcillloctt;
Findllxki;
C«rrontllock:>«tctllock;
UociAddrmt-fOOOO;
Proor<otl:«CI1 19941 ;
0*1 o!u
ooojn
tf frigiutltocki tfton Error tfttl;
H ItocUftfofCoiToMllocklOIIl Uon Error IIICI;
]ooot{QJfC«rr*»tllock;
DAT(«]t«ftrrontt)ock;
mdt
Frooitft:*0;
for ldt:-SOO to IFF do if HoctlnfoCMthlOl then FrtoLfl:»frtoloft*J;
*mLE-'tuiM locution T»blf {FILE E«HTK) I NAY N
Mdult EiTll-
btflil
public
MtTE
EircAddr,
ffrMdr;
tMUGEtr
Irtdtx;
im «**»
Currl)ockri27];
Mtn *m
llockttdrtUU,
LoiH64r[l27}\
IUBfJ *UH CoMtM271;
1
proc EoittttW REF Mdr; ITO ktll-
btffn
Moor>t«Jdrl!"fi4tj;
**r:«<rttMlOOOI;
rod;
proc Eift7cp|lT£ 0£f **,; MrTT Ditll-
Itfia
EiitlMor, HlinE(P«ti)}j
EiiUAddr, ICWEfDiltlJ;
•oil
proc TotttCAd-
•0910
tfiilt QnorrtEitcAddr]* 110 Mfl
Mooor T rEitcM0rflOOOn<IEF MO
ltMorr(Ei#<Addr«IOOO?]-IM 00
login
EirtAddrffiK Mir +1000*; 1 Skip tonttinU otc
M %oory[Eioc»dO>]«l7E thn £itc*d>:«€*odWdr*fOfaj; I tkip iftr iddr
ondj
proc EtocTioli*
boo to
IYTE toollock;
JlTEKf Hdij
if >e r Crr thM
ktifii
■full Hdi<«]ndfj do
ttgtn
HlfllockjrM;
if Lc*4*«dr!*x 1)19000 tktn A*pllock;-fOr
EltMEiicOOdr, tllk;
EaitZrfttcAtor, S£f00)j
EoUtEiocAOdr, rjtjltoctl;
EoittCiociddr, CirrlJork[»di]l;
Eoit2<Eioc*ddf , lloct«4drCNdi]l|
Eii*2<E»fcWdr, loitfUdr[«!i]|;
Coit2(Eiic«ddr, »€llCe^t(HilM;
idi;««d»*li
ond;
EltKEtocAdfr, j7?i;
Eoit2(£ioc»ddr r IforAddrl;
CurrlloctfOlMCurrllockllndtxJi
HockMdrtO){>l]ocMddrthdtt]^fCUCMntUndoiJl;
Curr out 81 oc kr "Cur rlloc4 tOlj
llock*Wri«:t|iockW^tO}i
CoonttOlitOi
lndu:*0;
if EucWdr>«Ei«Tjblf«N< tkm Error 4S0Aij
ond 1
CiocNi>:-bocTalItStJrt;
CorrlloctIOJ:»Cofrontl]ock;
llockMd'COh'llockAddrmi
TtbioEi*;
proc EiittNYTE «F H**\ IYTI lotus
proc Eiit2(NTTE REF Mtfr; IITTE »*ti>|
proc EiocT«0]t;
OttOTM!
0OL Err;
UTTC EttOabtoStirt,
DrcTiOliEnd;
•HT Corrmtltocrlimoit
OtnE |]ockA*Jrru<StFF2l;
im«uy iiocinoooo);
DM* MtMr lioolUl;
proc Error IIVTE CrrOkoli
oriTitt
IYTE AMU toorrdOOOOl;
MJUl-'Fili Lwdff* (Fill E4LMII n «ffi 04
■oduJt Lwd-
oto>
pooltc
LAMtTr«T ToUllyltt;
proc LoHfilo;
rstfrn*]
MXR. Ertj
BtYTE lforMdrs
WTEBCT Indoi;
I fotit irtti ooitttd
I Error flig
1 ?r*iifor oMrm
1 Lo«d lifo if4%%
o\m *mi ■oMtuii
1 r 1 if mm
32
'68* Micro Journal
IYTE MMr llOCktfQOOOl, 1 tat a toidftf into ftlctk
Orilocktmii 1 Currtnt block
OWE MMT |]ockAddrCI273, 1 Hock iddr.u
Loid«*rU27J; 1 Load 4ddnis
}*TE6Eft »MAT CototM77]; 1 lytff count
■roc ErrordriE Err*»|
IYTI PCOC fcitllocl;
pn*att
proc UWFilt*
I tfror Jurrdlffr
I fljft i« ittt Irtf block
\ if WT IforAddrFound ttitn Error (H?|;
! U Cou*t(lndff#]*0 tht*
t login
if tfldtitO Mffn ErfonlW) fltff In:nj = Indt» 1;
♦ tad;
tal;
fndf
X —
•TIE Htidtr, Cat, Oiti;
NOL HotFjritRfcord, HtrlflftrFoufldj
86YTE LAddr, •^drr-lixtAddMOk
IfTt FILE litfjlt;
•001 proc linM»idtr»
begin
liiMf*dtr:»fMMdK»l02 OR Ht4dffr*Jlo 0* *t*dffr=l00l;
t Indti if 0, CurrllocKOl it currtot block,
1 Bloc4Mdr [0] n rmt frtt bytt «rsttiir> currmt Lloc^ t
: Couotcor) if o.
trip to trror fro* oon ItnFilt it M^ti;
if NOT Err tnift trip to Error froo
btfitn
! rtid froi linFilf Hffidffr;
J if mi linHMd* toon Error(«il;
: At If lnHffffdr MO «T EOT (lipFi:tl Oi0 iOT Err d«
J btfifi
; if Kw#>«lli thffr
tfflii
rffid froa tinfilt htrAddr;
I ItcAMr Fount: *tm;
fftd ffltff
if Mtad«r*l02 Vm
Iff lis
: road fraa HtPllff LoiiMdrlltdtiffl), (at;
: if UotFiricStcOrd «& Court: litdffil >• tbon
r bcift
; if ltodr<XoriMdr[Jn*n*]| tbffft
btgifi
]ndtii>Udn«]|
: C«rrllocUt«ffi]t»€urr!lork[[ndffa-ll;
llorkMdrUndttlr'tAddr;
] UWdfjtUuiAMrtlniixJ;
CountllndnJuO}
I «d;
S #H fftii
! bfiin
I lAMrt4jilMdrMndti«|];
S UM4iddrnNdKh<Mdr;
IgtFtritlbcorii'truo;
rotillrtw:«TetffllrtM*EITGO(DCCtRH«t»€{W l Cnt))1* t
umilt Crjt>f«C iiiwr Err «o
iijii
r»id Irou ImFilt feW; Cut:*C»M0L;
lltxkti*4*]:-tiU;
Couit[]ff4tx1t<otft[r»d«>JHt
IMOf«lddr4ff00lf U¥<r:«Uu1dr*fOQOl}
H Nddr-11006 tut*
bufift
lt4u:«lf*i*lr
fcrrllockUii4ti]t»teittIocfcJ
MMrT«M006;
llvcU^tlfttah'ftAiW;
UMMddr[]odft]:-UMrt
Cw»M!nd*i):'0{
Kldi
VllLf-'kiJ* CoM*r: Tit !r a If tli E*£MTIl JO AM 6*
■odulff CodTbl*
btgin
pid)ltc
proc CitCodTttU;
proc CodTiblff;
proc CloEiUdTablo;
titffrnal
HOL Err;
Wll CudTibUStart,
CadTrtitEnd,
EmAddr;
DMA ARM? KiifftHl;
proc ErrordVTE Errio);
proc EiitLOOTE RtF M} IYTI Ditii;
•foe EiittfMYTE RCFflddr; IHTE Oltil;
K"*tf
OWE LocTifl]ffT=Codfibtt5t*rt,
tJwrCtdTioltrttt]?);
DiM «m-»v MttoryUOOOOl;
proc TrtlffEorf*
il W7 EOFflifiFilff) thtA rtid fro* ImFilt Ktadtr;
J Pidi
btgio
if IKorCitfTaoIf>90000 tbto
bit in
lH#rC*dT*blti*locTiblff;
•nd fflti
Mh
if Cff^TjBlffStirtOUffffCidliiif th«i CtdTibl«£^d:**FFfF; I UCT not LOCAL t
CtdTffAlfStirt:«OMrCtdTiblff;
LocUllfft'CudTiOlfSUrt;
«Mlf KffOorytLocTibltlOC^dOO) do
btfift
I rfiKff PlffiorylLocTiblfflOCKSdOO) dxi 1 Shp "«•
! bf^in
! LocTjblt:«LocTibl •♦10001;
S *nd;
! locTiblfft*Lo;T to! ftlOOOJ; 1 Skip iddrvtt
ffftd;
tnd;
ttid;
proc CltCldTiblta
j
NTTEidi:<otfTibkt5tirt;
vitff '*rJFtlC5 IN \fSLl COHANS TAH£^ A i';
•^itff *it LocTibiff do
otgin
: iritff •***:•;
: ollilff HffMrytHdilOOIlHOO) do t vitff niffff
i Nll«
: »rrtt HtwryiidiJ;
MH*ditf0COl;
: H*:««df*l0O03; t Skip adOfii
•ad;
ffAdj
proc CodTitlf*
••fin
tm idiMi; ;
'68' Micro Journal
33
H MOT Err tfetn
bf|Jn
mhilt U»i*til V do
ftfffo
EtitdocTitU, ASCtlUotUdiDti
Ads:>td>*IOJ;
tnd;
EntllocTiMt. WO) j
Ent2<LocTinlo, EticAJdr);
H LocT*6U>CflT44t«frtf tH* ErroMtf*);
pfoc C1ottt*d?4t!f*
If l!nrC*dTtfltOI000© tfclfl EtitlLocTrtlt, S00l{
tnd;
UoloCnd}
Z
< ProcttiVt to Copy a Proo/*i Into Him Nttory (Fjlt E<CVY.ASfl) 1 MAT B4
« by » € ArKtrong
one lEroo
Irti EN tWi ifwy
« EiK^hoA Tj»]« Utould »« wt up <v follows:
• i» Er 00
i
» FCI FUpllxkftdi
Indti o* block cud to W i* CarrBlock
♦ Ft! Currllock
floe* coRUinmq th« prog* 41
» FBI Blockiddr
St<rt jddrtst of |rogm «;tin CafrBloc*
i Fll Lc*«4r
Stirt Iwi idt>#t$ o* proQ/«i in iiin ottor?
i FDl Cotnt
Thf nuibtf o* Ijrln to lood
♦ .
■Off it iOOTf ttquvficf it rieurtd
t JHF IVtrlddr
Jul? to trmfOr tddrtit
iMOf
EBU «FW
liir ildrm o< WT itige
OAT
ECU IFFFO
Bom tddrttt of DAT
COP?
hus 1
Poll roturo idem ir'c W
LEAI 8 t y
Skip thf c©fl*Unti
PSKS f
Puih ntn rtturn iddrfSS
101 IfMfl*
POlM ai to PAT )ijf*
LdA 0, T
Loid fUpllockW. inte (A)
101 A.I
loid rM9v(H^BlKkHdil into fl)
PSMS D
&4vt indti ind Of ifir.ii lloek Or lUck
LDB 1,1
6ft CorrBlock
sn a>j
]Mg»[*icB1ock»Jth-CarrSlock
LD1 HAT
NnbMioctltfi hi CurrBtock
ST1 Ail
CurrBtock (ton rotitfont »o JUpBlock
ASlft
tolcilitt bit* oddrns of Curr flock
•SLA
ASIA
ASM
aw
A0» 2,1
ADUIuttBloclAddr ( -MS€{C4ir rllock) *Block Addr
TFiP.U
lr»%iw AbtolutoUocUkddr to (U>
111 M
lot lolflttdr
iivm
Sot Count
B*rj
LM P,U*
Bo LcmJ &*u
STB t l*
Stort bti
l£A? -I.Y
Aocrooont Count
m corn
tetil CowttOj
LBl llMBff
Poiet (I) to OAT i«4|p
PU.S
Aocorff litdti *4 origin! tlock
sn a* i
Uij# Mjptlock lids 1: "Or igintl Block
LBI llAT
|AT(Fl4pB1oct*dih*fr}gi*»2Block
sri a,i
ITS
fUturn
FROM TSC BASIC
TO MICROSOFT BASIC
by E. M. (Bud) Pass* Ph.D.
Computer Systems Consultants, inc.
\U$U Latta Lane, Conyers, GA 30207
Telephone Number ^-^83- 1 717M570
INTRODUCTION
The TSC BASIC Interpreters for FLEX and
UNIflEX are generally excellent
implementations of BASIC for the earlier
6800 systems under FLEX and current 6809
systems under FLEX and UNIFLEX. A large
amount of business, educational,
recreational, technical and system
software has been developed using those
With the advent of the
TRS-80 Color Computer, the
Computer, and other newer
systems supporting Microsoft and simitar
BASIC implementations, many developers
have been and are converting these TSC
BASIC programs to Microsoft BASIC
impl ementat ions.
i nterpreters .
Radio Shack
IBM Personal
The purpose of this article is to discuss
the differences between TSC BASIC and
Microsoft BASIC, and how they affect the
conversion from the former to certain
implementations of the latter.
MICROSOFT BASIC
Microsoft BASIC implementa
performed on a large numbe
unlike TSC BASIC, wh i
implemented on a rather I
Microsoft offers both BAS
and compilers, with the
size, speed, and security
while still maintaining
Development of an int
offers only interpre
Pre-Compiler is not a comp
is a tokenized interpreter.
tions have been
r of systems,
ch has been
imited number.
IC interpreters
advantages of
of a compi ler ,
the ease of
erpreter. TSC
ters; their
i ler but rather
t nMiriitiMniiiinttiinuaioiiiiinniiHunuaiTr.ktnuns
Unfortunately, not all of Microsoft's (or
TSC's) implementations are the same, so
some attention must be given to the
differences among the implementations of
interest. The implementations discussed
here are for the Color Computer and for
the IBM Personal Computer, being fairly
recent and complete implementations, with
34
'66' Micro Journal
extensions in similar areas for
supporting color graphics and sound
effects. Other implementations are
generally similar in the core language,
but differ in the extensions. Developers
aware of the similarities and differences
among the implementations can use the
similarities to their advantage while
minimizing the impact of the
di f ferences.
DIFFERENCES AND SIMILARITIES
This section provides a discussion of the
primary points of difference and
similarity between the TSC BASICs and the
Microsoft BASICs. Note that the
graphics, sound, and certain and other
extended functions, such as cassette I/O,
of some of the major Microsoft BASICs are
not covered here since the thrust of this
discussion is the translation of TSC
BASIC programs to Microsoft BASIC, and
TSC BASIC does not support graphics,
sound, or the extended functions.
For the purpose of this discussion, the
following mnemonics will be used as
shorthand notation for the indicated
implementations:
TSC any TSC Extended BASIC (here)
XBASIC TSC Extended BASIC Interpreter
XPC TSC Extended BASIC Pre-Compi ler
Microsoft any Microsoft BASIC (here)
PC IBM PC BASIC
COLOR Radio Shack Extended BASIC
Naming Conventions
XBASIC supports a one or two character
variable name, starting with a letter,
and optionally followed by a letter or
digit. It requires every statement to be
labelled with a numeric integer in the
range from 1 to 327&7.
XPC supports a variable name of length
one to 255 characters, starting with a
letter, and composed of letters, digits,
and underlines. It does not require
every statement to be labelled, allowing
only those statements which are the
targets of GOTO, GOSUBt ERL V etc. to be
labelled, and allows labels to be numeric
integers or to follow the same rules as
do variable names; a label must start in
the first column.
TSC allows a variable name to be followed
by '$' or '%', denoting that the variable
represents a string or integer,
respectively, rather than a floating
point number. The optional suffix
character is considered a part of the
name.
COLOR supports a variable name of
effectively any length, starting with a
letter, and optionally followed by a
letters and digits; however, only the
first two characters are significant. It
requires every statement to be labelled
with a numeric integer in the range from
1 to 32767. It allows a variable name to
be followed by '$', denoting that the
variable represents a string, rather than
a floating point number. The optional
suffix character is considered a part of
the name, although it is exempt from the
two-character rule.
PC supports a variable name of
effectively any length, starting with a
letter, and optionally followed by a
letters, digits, and periods; however,
only the first hO characters are
significant. It requires every statement
to be labelled with a numeric integer in
the range from to 65529. PC allows a
variable name to be followed by '$', '%' ,
r ! ' «, or '#', explicitly denoting that the
variable represents a string, integer,
short floating point number, or long
floating point number, respectively,
rather than either a short floating point
number or the default declaration type
implied by a OEFtype statement. The
optional suffix character is considered a
part of the name, although it is exempt
from the kO character rule. It also
allows a numeric constant to be followed
by '!' or contain the exponential form
'E' to force its representation as a
short floating point number, or to be
followed by '#' or contain the
exponential form 'D' to force its
representation as a long floating point
number .
None of the BASICs discussed here
distinguish between upper and lower case
in variable, verb, or function names.
All of the BASICs discussed here allow
variables to be subscripted, with one or
two dimensions, through the use of the
DIM statement. TSC extends this concept
'66' Wc»o Joumft)
with virtual arrays* which are actually
random disk files, rather than tables in
memory. All of them automatically clear
numeric variables to zero and string
variables to null. This includes
subscripted variables, but not virtual
arrays.
The diversity of legal names for XPC may
cause compatibility problems when
converting to Microsoft because of the
possibility of using names which are
proper in XPC, but are reserved words in
the target Microsoft implementation.
Usually, this will produce syntax errors,
but sometimes will cause other problems,
such as accidentally changing the system
date or time, as will storing into DATES
or TIMES on PC. A good defense against
this problem involves reviewing a sorted
cross reference listing of the XPC
program versus a list of the reserved
words for the target language, and
modifying the offending variable names.
Another problem caused by the differences
among the naming conventions concerns the
possibility that two unique XPC variables
may be interpreted ambiguously as one
variable in either COLOR or PC. While it
is unlikely that two XPC variables would
be the same for the first 40 characters,
but different thereafter, causing a
problem under PC, it is quite possible
that two XPC variables would be the same
for the first two characters, but
different thereafter, causing a problem
under COLOR. Again, the best defense
involves reviewing a sorted cross
reference listing of the XPC program for
ambiguous names.
String and Numeric Representation
TSC supports strings of length zero to
32767 bytes and the following numeric
representations:
integer
-32768 to +32767
2 bytes
floating point
17 digi ts
8 bytes
COLOR supports strings of length zero to
255 bytes and the following numeric
representations:
i nteger
-32768 to +32767
2 bytes
f loat ing point
7 digi ts
5 bytes
Note that the number of digits of
precision provided by COLOR is only
seven, and this tiay be insufficient for
the purposes of the program. For
instance, accounting programs on COLOR
will be unable to exactly compute amounts
greater than 99999.99 in magnitude using
the floating point arithmetic provided,
assuming two decimal places are required
for dollars and cents representation.
PC supports strings of length 2ero to 255
bytes and the following numeric
representations:
i nteger
-32768 to +32767
2 bytes
short f loat i ng point
6 di gi ts
4 bytes
long f loat i ng poi nt
17 digits
8 bytes
Since the PC default for short floating
point provides only six digits of
precision, compounding the accuracy
problem discussed for COLOR, the
following statement should normally be
inserted in each program being converted
from TSC to PC:
DEFDBL A-Z
before any other statements or
declarations to cause the default
declaration of PC variables to be long
floating point, and thus avoid any loss
of precision. Generally, the benefits
derived from the use of this statement
outweigh its cost; however, programs
which are time or space critical should
be more carefully reviewed to determine
if the use short floating point may be
more appropriate for some or all of the
floating point arithmetic. PC has one
other peculiarity not common among other
DASICs in that it rounds, rather than
truncates, when converting floating
point numbers to integer format; this may
cause subtle problems in many programs.
All the BASICS discussed here allow
arbitrary contents for strings (as
opposed to OG BASIC, which uses hex 00 to
flag end of strings, etc.), although they
all have length limits. The length
limitation of Microsoft strings to 255
characters will cause no problems in
some TSC programs and severe problems in
other TSC programs being converted. A
36
'69' Micro Journal
general solution to the problem is not
possible. Program logic must generally
be carefully reviewed while testing to
ensure that the 255 character length
limitation is resolved. Usually, the
BASIC interpreter or compiler will detect
and flag such problems; however, the
problems may be masked (at least under
PC) by error handling routines not
expecting string length errors.
Microsoft allows hexadecimal and octal
constants to be explicitly coded, as
fol lows:
hexadecimal
6Hxxxx (x«0-9,A-F)
octal
60xxxxxx (x-0**7)
&XXXXXX
Hexadecimal and octal constants may be
used in the same contexts as integer
constants. In some Microsoft programs,
the use of hexadecimal constants may
alleviate some or all of the problems
caused by the lack of the T5C HEX string
conversion function, discussed later.
Operators and Expressions
All the BASICS discussed here share a
similar set of arithmetic, string, and
logical operators. PC has several unique
operators ('V. MOO. XOR, EQV, IMP),
UNI FLEX TSC has one unique operator
(' •). and Microsoft has several (•><'♦
'«>• 9 •»<■) not supported by TSC.
result, whereas the other BASICS
interpret it as producing a truncated
integer result when both operands are
integers. This is consistent with the
fact that PC rounds, rather than
truncating, when converting floating
point numbers to integer format. The PC
operator ( , V) converts both of its
operands to integers and produces a
truncated integer result. The Uniflex
approximately equal operator {* ') may
usually be converted to the more
conventional equal operator ('*')♦ but
each use must be evaluated. All of these
differences will require attention in
many programs to avoid subtle problems,
such as a subscript value being incorrect
by one, a relational operation that is
never true, etc.
All of the BASICS discussed here allow
Boolean expressions to be used in
arithmetic contexts, returning non-0 for
true and for false. They interpret the
logical operators as bitwise, rather than
true/false. They all have the same
operator hierarchies. They all interpret
a binary '+' operator in a string context
to represent concatenation.
They all evaluate expressions involving
operators of equal precedence on a left
to right basis, except for those
involving exponentiation, which are
evaluated on a right to left basis (for
the exponentiation operation only).
The table below provides a composite list
of all of the BASIC operators, in
decreasing hierarchial order:
(,) parentheses
fcn() functions
j exponenation (caret)
-,+ unary negative/positive
*,/ multiplication/division
\,M00 integer division/remainder
+ ,- addition/subtraction/
string concatenation
relational cocnpar i sons
NOT logical complement
AND logical conjunction
OR logical disjunction
XOR logical excl. disjunction
EQV logical equivalence
IMP logical implication
PC interprets the division operator {'/')
as always producing a floating point
Multiple Statements per Line
All of the BASICS discussed here support
(and encourage) the placement of multiple
statements per line, and all interpret
the concatenated statements in a similar
manner. TSC allows either ':' or 'V as
representing statement concatenation,
whereas Microsoft allows only ':'. All
of them allow lines of up to 255
characters in length. XPC allows lines
to be continued by the use of the A 1 and
carriage return combination. PC allows
lines to be continued by the use of a
line feed, rather than a carriage return,
although the 255 character limit applies
to the entire concatenated statement,
even on multiple lines, as opposed to
XPC, which imposes the limit only on each
line of a multiple line multiple
statement. These considerations may
occasionally cause problems beyond simple
'68' Micro Journal
37
character substitution, but such problems
occur rarely in practice.
Non-1/0 Functions and Statements
This section summarizes the primary
differences among the TSC and Microsoft
BASICS in terms of the non-)/0 functions
and statements. I/O functions and
statements will be discussed in the next
section.
The string manipulation functions LEFTS,
MIDS, and RIGHTS are common in syntax and
interpretation across all of the BASICS
discussed here. However, many of the
other string functions supported by TSC
are either not supported by either COLOR
or PC or are supported in a different
manner.
The CVT group of TSC string conversion
functions generally has correspondences
under different names under PC and has
only partial correspondences under
COLOR. CVTS4 corresponds to CVI and
CVT4S corresponds to MKlS in both PC and
COLOR, converting a two character
internal representation of an integer to
and from an integer. CVT$F corresponds
to CVD and CVTF$ corresponds to MKD$ in
PC only, converting an eight character
internal representation of a floating
point number to and from a floating point
number- CVT$F loosely corresponds to CVN
and CVTFS loosely corresponds to MKN$ in
COLOR only, in that the COLOR string
functions process a five character
internal representation of a floating
point number. CVT$F also loosely
corresponds to CVF and CVTFS loosely
corresponds to MKF$ in PC only, in that
those PC string functions process a four
character internal representation of a
floating point number.
The TSC STRS function always provides a
trailing space, but the Microsoft STRS
function never provides a trailing
space. PC supports a DATES function, but
it returns a string with format
MM-DD-YYYY, not DD-MMM-YY, as returned by
the TSC DATES function. PC supports a
TIMES function, but it returns a string
with format HH:MM:SS, not as returned by
TSC UN I FLEX. COLOR does not support
either DATES nor TIMES. Microsoft does
not support the TSC UNIFLEX options of
the OATES and TIMES functions with
parameters.
The TSC ASC function will accept a null
argument, returning a zero, but the
Microsoft ASC function requires a
non-null argument; a simple manner to
avoid this problem is to suffix the
arguments of all questionable ASC
functions with "+CHR$(0) M . Microsoft
does not support the TSC UNIFLEX MEM
function, but it does support the TSC
FLEX FRE function.
Microsoft has no equivalent for the TSC
HEX function, which converts its argument
from a string containing a hexadecimal
number to an integer representing that
number. At each occurrence of the use of
HEX must be inserted substitute code to
perform the function. Microsoft does not
allow DEF functions with string
arguments; however, a USR function call
could potentially be substituted for the
HEX function call to perform the
conversion.
The error-handling capabilities of TSC
and PC are syntactically identical, both
using the ON ERROR and RESUME statements
and the ERR and ERL functions to
establish error-handling routines and to
return to normal processing after an
error has been detected and processed.
The primary differences between the
implementations lie in the interpretation
of the error numbers returned by the ERR
functions and in the fact that, once the
PC version of ERR provides an error
number, it will return zero until another
error occurs. The following list
provides a few of the most important
error conditions and the values returned
by the respective ERR functions:
TSC PC Condition
*4 53 Fi le Not Found
8 62 End Of File
9 57 1/0 Error
16 71 Disk Drive Not Ready
80 7 Out Of Memory
COLOR does not support most error
handling, severely limiting its ability
to escape from error situations.
Microsoft supports the EOF function,
which indicates an end of file condition;
this is the only error handling function
internally provided by COLOR.
Microsoft has no equivalents for the TSC
UNIFLEX multitasking statements and
functions (such as SLEEP, TASKS. TERMS.
38
f S8* Micro Journal
TSTAT*, UNLOCK), nor for the TSC
statement EXEC. Such functions must be
either deleted or replaced by USR
functions to request the operating system
to perform similar tasks.
Microsoft supports the TSC FLEX PEEK and
USR functions under the same names and
the PTR function under the name VARPTR.
It also supports the POKE statement.
However, the manner in which USR and PTR
functions are handled is- different in
essentially every implementation. Also,
the uses of the PEEK function and POKt
statement are highly dependent upon the
hardware and software configuration on
which the program is expected to run.
Thus every occurrence of any of these
functions and statements must be
carefully evaluated in every case.
1/0 Functions and Statements
This section summarizes the primary
differences among the TSC and Microsoft
BASICS in terms of the I/O functions and
statements.
I/O file numbers are used in similar
manners by TSC and Microsoft, although
there are several differences in
interpretation. One potentially major
difference concerns the use of file
number zero. TSC interprets file number
zero to be the user's terminal, unless
the file is opened for output, in which
case it is interpreted to be a printer,
or unless the file is opened for input,
in which case the input prompts to the
terminal are deleted. Microsoft does
not support any use of file number zero,
so that any TSC programs using it will
require modification. PC supports only
three file numbers (1-3) by default;
however, a command line parameter may be
used to increase this number to twelve,
if enough memory is available to support
that many buffers.
Another important area of difference
concerns file specifiers. File naming
rules are generally more dependent upon
operating system requirements' than upon
BASIC conventions. The BASICs discussed
here conform to the following four sets
of file naming rules* discussed below:
TSC FLEX
TSC UNIFLEX
COLOR
PC
TSC FLEX file specifiers reference disk
files only. They are composed of an
optional drive number (O-3) , a file name
of 1 to 8 characters, and an optional
suffix of 1 to 3 characters. The file
name and suffix must start with a letter
and may be composed of letters, digits,
and certain special characters. The
drive number, if present, is separated
from the file name with a colon. The
suffix, if present, is separated from the
file name with a period. Letter case is
significant. If drive number is omitted,
the default work drive is assumed.
TSC UNIFLEX f I 1e spec
device. They are
tree- structured file
an optional set of
separated by slashes
name. Each directory
must start with a
composed of letters, d
special characters,
I f the file speci f i er
a slash, UNIFLEX pr
directory levels to
case is significant.
ifiers reference any
composed of a
reference, which is
directory levels
, fol lowed by a file
level and file name
letter and may be
igits, and certain
excluding slashes,
is not preceded by
epends pre-spec i f i ed
the name. Letter
COLOR file specifiers reference disk
files only. They are composed of a file
name of 1 to 8 characters, an optional
suffix of 1 to 3 characters, and ar»
optional drive number (0~3) . The file
name and suffix must start with a letter
and may be composed of letters, digits,
and certain special characters. The
suffix, if present, is separated from the
file name with a slash or period. The
drive number, if present, is separated
from the file name or suffix with a
colon. Letter case is insignificant. If
drive number is omitted, the default
drive number is assumed.
PC file specifiers reference any
device. They are composed of an optional
device id, an optional file name of 1 to
8 characters, and an optional suffix of 1
to 3 characters. The file name and
suffix, if present, must start with a
letter and may be
digits, and certain
composed of letters,
special characters.
The device id, if present, is separated
from the file name with a colon. The
suffix, if present, is separated from the
file name with a period. Letter case is
insignificant. PC device ids are
interpreted as follows:
'68' Micro Journal
A:
B:
C:
D:
CASl
COM \
COM2
KYBD
LPT1
LPT2
LPT3
SCRN
the
disk drive A
disk drive B
disk drive C
disk drive D
cassette adapter
communications adapter
communications adapter
keyboard adapter
printer adapter 1
printer adapter 2
printer adapter 3
screen adapter
device id is omitted.
If the device id is omitted, the
currently assigned disk drive is used.
File names are required for disk and are
optional for all other device types.
The OPEN statements perform essentially
the same functions in all of the BASICS
discussed here; however, the formats for
the statements are different. All
require a file number, a file specifier,
a mode, and some allow a logical record
length to be stated. As just noted, TSC
allows file number zero, whereas
Microsoft does not. Also, the formats
for file specifiers differ among the
versions of BASIC, as do the
interpretations of the modes.
TSC supports the following formats for
OPEN statements:
OPEN OLD filespec AS filenumb
OPEN NEW filespec AS filenumb
OPEN filespec AS filenumb
and TSC UNI FLEX supports the following
additional parameter for random files
only;
•SIZE recordsize
where recordsize specifies the length of
all records in a random file; by default,
it is assumed to be 252, which is the
same record length always used by TSC
FLEX for random files. Mode OLD
requires the disk file to pre-exist and
opens the file for input only. Mode NEW
always creates a new file, deleting any
old one by the same name on the same
drive, and opens the file for output
only. The null mode opens an existing
file or creates a new one, and opens the
file for both input and output (random
access only) .
COLOR supports the following formats for
OPEN statements:
OPEN mode, filenumb, filespec
OPEN mode, #filenumb, filespec
where mode is a string express ion wi th
the following interpretations of the
first character in the string:
I input
output
R random
and COLOR supports the following
additional parameter for random files
onl y:
, recordsize
where recordsize specifies the length of
all records in a random file; by default,
it is assumed to be 256- For conversion
from TSC FLEX, the recordsize parameter
should be stated as 252. For conversion
from TSC UN I FLEX, it should be stated as
the same value stated or assumed
originally, unless the value is greater
than 256, in case further manual
intervention will be required to reduce
the record length or split up length
always used by TSC FLEX for random
files. Mode "I" requires the disk file
to pre-exist and opens the file for input
only. Mode u 0" always creates a new
file, deleting any old one by the same
name on the same drive, and opens the
file for output only. Mode "R M opens an
existing file or creates a new one, and
opens the file for both input and output
(random access only) .
PC supports the following formats for
OPEN statements:
OPEN filespec FOR APPEND AS filenumb
OPEN filespec FOR APPEND AS #filenumb
OPEN filespec FOR INPUT AS filenumb
OPEN filespec FOR INPUT AS #fi1enumb
OPEN filespec FOR OUTPUT AS filenumb
OPEN filespec FOR OUTPUT AS #fi1enumb
OPEN filespec AS filenumb
OPEN filespec AS #fi1enumb
OPEN mode, filenumb, filespec
OPEN mode, #filenumb, filespec
where mode is a string expression with
the following interpretations of the
first character in the string:
f input
output
R random
and PC supports the following additional
parameters for random files only:
,LEN-recordsize (for OPEN filespec)
.recordsize (for OPEN mode)
where recordsize specifies the length of
all records in a random file; by default,
it is assumed to be 128. For conversion
from TSC FLEX, the recordsize parameter
should be stated as 252. For conversion
from TSC UNIFLEX, it should be stated as
the same value stated or assumed
originally, unless the value is greater
than 102A, in case further manual
'66' Micro Journal
intervention wi \\ be required to reduce
the record length or length always used
by TSC FLEX for random files. Mode " I M
(or INPUT) requires the disk file to
pre-exist and opens the file for input
only. Hode "0" (or OUTPUT) always
creates a new file, deleting any old one
by the same name on the same drive, and
opens the file for output only. Node "R"
(or null) opens an existing file or
creates a new one, and opens the file for
both input and output (random access
only). In many cases, it is necessary to
attempt to open a random file as an input
file, close it, then open it random, to
prevent the automatic creation of the
random file caused by the PC random file
OPEN statement. If a printer is opened
as mode "R" and record length 255 • the
normal automatic line feed after carriage
return will be suppressed. Mode APPEND
opens an existing file or creates a new
one, and opens the file for output only,
starting at the end of the file. File
records may be no longer than 128 bytes,
by default; however, this limit may be
increased to 1024 and the default limit
of file numbers 1-3 may be increased to
1-12 (both memory size permitting) thru
the use of command line parameters.
TSC FLEX sets the width of a printer thru
TTYSET parameters, which are external to
BASIC, but may be manipulated from BASIC
thru the use of the EXEC statement or may
be established before BASIC is
executed. TSC UNIFLEX sets the width of
the printer with the following
statement:
WIDTH width
PC sets the width of the printer with the
following statements:
WIDTH f i lenumb, width
WIDTH deviceid, width
with which the first type statement
requires that the file be open and the
second type does not; also, the second
form applies to any access to the device,
and thus affects the LUST and LPRINT
statements, which the first form does
not. In most cases, the second form
should be used. However, the first form
may be required if several printers,
wi th di f f erent widths, must be driven,
and, for some reason, the second form is
not convenient to use.
In order to overcome the problem caused
by the use by TSC of file number zero,
the Microsoft LPRINT statement may in
many cases be used to replace the TSC
PRINT statement. This has the advantage
of being a simple substitution, but
unconditionally sends its output to the
printer, whereas TSC printer output is
conditional on an OPEN statement
attaching a printer driver to file number
zero, and normally always sends its
output to a particular printer ( ,, LPTI: M
under PC). If this is not convenient,
the file number may be changed to a legal
one and the file may be opened to device
"SCRN:" to send output to the PC screen
or "LPT1:", etc. to send output to
alternate devices. The other use of the
TSC file number zero, to inhibit input
prompts, requires manual intervention and
review, if it is to be maintained.
There are several other miscellaneous
differences among the corresponding l/C
statements in TSC and Microsoft. Most
of them are minor and will require only
cursory review and simple modification.
The most important differences are
summarized below.
In the MICROSOFT statement "PRINT#n'\ "n"
must be followed by a comma, even if
there are no other parameters. Also, in
the MICROSOFT "PRINT USING s$" statement,"
all delimiters after "sS" must be
semicolons, wnereas TSC allows semicolons
or commas.
The only manner In which to set the
cursor on the PC screen to a given
position is to use the following
statement:
LOCATE row, column, cursor, start, stop
where row represents the row number
(1-25) • col represents the column number
(1-80), cursor determines whether the
cursor is invisible or visible (0,1),
start is the cursor start scan line
(0-31) % and stop represents the cursor
stop scan line (0-31) . The only manner
in which to set the cursor on the COLOR
screen to a given position is to use a
PRINT statement of the following format:
PRINTn, ...
where n represents the character number
on the screen, which represents the
following expression:
( (row-1) *32)+column)
with row values from 1 to 16 and column
values from 1 to 32- TSC has no standard
for setting the cursor or issuing other
'66' Micro Journal
41
terminal commands, but the PRINT
statement is normally used to output a
character string representing commands to
the terminal; this will require review.
they affect the conversion process.
The following trademarks were used in
thi s art ic le:
The word RECORD in the TSC statements GET
and PUT must be deleted when converting
those statements to their Microsoft
equivalents. Also, the statement "INPUT
LINE" must be reversed to "LINE INPUT"
when converting a program to Microsoft
BASIC.
TSC is Technical Systems Consultants. I nc ,
FLEX and UNIFLEX are trademarks of TSC.
Radio Shack is a trademark of Tandy, Inc.
TRS-80 Color Computer is a trademark
of Tandy, Inc.
IBM is International Business Machines.
PC is a trademark of IBM.
Although the syntax for the INPUT
statements is similar among the
implementations, there are differences.
The TSC INPUT statement always starts on
a new line, whereas the Microsoft INPUT
statement does not necessarily start on a
new line. If a comma follows the prompt
string in a Microsoft INPUT statement,
rather than a semicolon, the question
mark normally output after the prompt is
omi tted .
The TSC func
character fr
Microsoft
"INPUTS", whi
INPUTS (1)
INPUTS (1,
where the f
keyboard and
file "n".
"INKEYS" func
one, or two
struck, a nor
extended key
tion "INCH$(n)" inputs one
om file "n". The nearest
equivalent function is
ch has the following forms:
n)
irst form inputs from the
the second form inputs from
In addition, PC allows the
tion, which returns a zero,
character string if no key is
mal key is struck, or an
is struck* respectively.
The Microsoft CHAIN statement does not
close files which are currently open,
unlike the TSC CHAIN statement, which
closes all open files. PC supports the
"CHAIN MERGE" option, which causes new
BASIC text to be read into memory as an
overlay, rather than as a replacement.
SUMMARY
BIT BUCKET
Co^uttr Publishing Centra
68 MICRO JOURNAL.
3900 C«ti«ndrt S*uth,
P.O. 8o» B4«,
Hi„«o* f TN 37343,
U.S.A.
&*«' Editor* Progru Light Snitch.
[ have bean a rudtr of the e8HJ sine* buy log ey * ir*t
Hlcro C9«()utir In ' 7«. A SMfPC 6G00 kit plus for* for 69*J .
PrtviDoi to this 1 tptnt m+ny years M itn tllfti computers u««0
for Data input t processing.
Thank you for the mny helpful i interesting Articles in
the journal over the years arid I regret having waited so
Kong before writing yov-
Jt a a hoped that this Short progr** amy encourage acre
interest in Computer control Projects especially since 05*
psrmits 'concurrent' running without interfering Kith other
uses such as Editing & Assa*bly.
Th« hifdkin for this project is :- t OHO Mire L t A7 data
Hirt fro* 'A* section of a GlhUit t«#o channel < *A* 'B' > P1A board.
A LED * 300 one resistor fro* G*0 to (anode) Data bit A7.
Th# lEO can be replaced after the initial tests by a solid
state relay Un 3-24 volts d.c. out l?0 v. 14 **0 AC> ,
This prograe is written for use with a Gmi »03 CPU ooard
having software switched Men/OS*. If tne ttfumi] 11 run *itn its'
Oma kSyOoard t th« printer is parallel. th« A' section of Printer
MA ~ill be available.
Please note that any 'A' or *8» section of mny P]A could be
used if the relative address U int 1 al 1 nation is changed-
Aoorsat - *«'
GInix P[A.
D0*a.9*a * x
CRA - [,i
DD«B.D»B • 2, X
CRB - Z*\
DTMEfl PIA may have.
DORA, OR A • Jt
0ORft,0RB - l.K
CKA • :,i
CAB -5.1
Mith Progrs* in /DB/ChDS :- OSetLHEfl «• »i 1 1 produce S00 3
and CS9;
Cnter <procs> * En tar Tlfifc OFF 4 TI*€ ON' Mill appear -
Type in the reouirsd ti«tt <-* now dockland the OS* will
output the 'prxt' revest, i.e. 3 active LlTES etc.
Tha Prograe LtTES is no- running and cannot be cancelled
ejiceot by calling:* CS«:LtT6S and entering a nn« ti*s
plus control C or or entering 00 which will cancel the
L I rES program.
F, M. Jones,
7,Frontenac •
A»i*er J9J 1C3
Quebec Pro*. CANADA.
'•a sincerely.
Irf Uo*. B*
This article has discussed the
similarities and differences among the
various implementations of TSC BASIC and
Microsoft BASIC from the viewpoint of the
conversion of TSC BASIC programs to
Microsoft BASIC. In particular, it
covered the peculiarities of the COLOR
and PC BASIC Microsoft implementations
and the TSC FLEX and UNIFLEX, Extended
BASIC and Pre-compiler versions and how
9—2
ffMS
• 12
•M
• L*
it?
fit
au
atl
TO UK A* KCT10N OP P»A
• TO OUTPUT i it T£ POP CONTRA. UBC.
Use 24 hour eject iv«t«- and mtir
Pr t>**».
tnt*r #e - Ml I llHt'V Oft* --Iturr,
OPT c , MT9. D49
TTL LlBHT ftwirCM
ISPPcn »rr see.
iesea.il ht sk
f»«JCP BIT SM
fsciit ht sea
hind. •*»« . en . »ei .uarwy, avsji IB
42
'66* Micro Journal
M0Z3
E#4B
piaout
COCI
•E#4#
P1A pr:**tew.
M#2*
€»•
UW
EEXJ
•E39#
8t«r« ON-OFF li*»*.
99973
E2*#
CLOCK
EOU
•E22#
#•#26
#M#
BUPru»
RMS
8
mm o
####
3T6C*
««•
*••
•M?# &
•#*£
MC MB IIC
eou
#M2*
i*.V! 4C 493443
NAME
FC»
/LITCB/
«#*»
•#*si
Ml? SEZ#4#
£NtMr
LDX
■PIAOUT
Inlti «t* PlA.
f»i:
#•13 kFPI
OLA
l.J
###33
Ml 7 MFF
. 0*
**FF
*##3*
Ml* MM
Sift
, K
ODRA «li Output*.
m#33
Mitt #**>*
l_t»
* •*
#ms*
MID ft?#i
B7A
1»M
Erapl* CM*.
•#•37
MlF 3MDM7E
START
UE6I
0R0£R.F<M
0*t ON-OFF tl«i
•##39
h:; LMCM1A
COY
•9TRUEN
M#M
m?7 b#i
IM
• I
###4#
M29 ;«'>6.
DB*
MmUM
tfrlt* cwwind
###4l
■V2C 73*^
■CI
MB
•##42
M2E MC4
LEAl
mvmM,\i
TA^OO'ArV *tor#
###43
HV IMCMM
LDV
M
MfH
MJ4 6#M
LH
•
#•#63
MJ6 l#3#M
0M
1BR0LN
k»r«0*rc «ntry
###■*
M39 334?
SCB
ERMax
BB«47
W'r CEMM
LOU
#MM
2trO g 4ar o<«»t
•#•4©
M3C BOM
V6*
MElCVT
AfiCIJ to -*h .
M#4*
##«• £0C*E33#
*TD
TJMf,U
Elor* ON-OFF timm
###S#
M4 4 2#3S
•MA
CWTWO.
in Ram 6 Bo.
•#•31
•946 34 70
»* XCV1
•BXS
1,Y.U
•M32
##4B i#efc»#*M»
HJtvfr
LDV
••
##«1
#**r toe>
HlCvTl
LOB
, i«
0»t CMrlMir
•##34
##4t MM
*U*b
9«3#
)•«• ASCII o* *%** +
«#•
••># Cl#*
H1CVT2
CMP»
•9
•MS*
Mi; =3«
»U6
MCVT3
it 9-9 OK.
•M=
N34 CJ1#
CNPB
f#>tl
M#M
##S6 2312
BLfi
MICVT9
if :-? Ci it.
•M3*
MSa CM7
euoe
• •7
Adjust +csr A~F*
###o*
M5A C9Tf
•ne
t##i
994*1
msc :or
BNE
HDCVT9
fijid i4 npt #-6^.
•#•62
M3E *f
MXCVT3
CLP.*
Cl«*r nft pvX« 0« D
###63
•#".' ie#s
E*6
D, V
fi*«P n»M nibbla 4.
§00 fr*
■hi M
*SLB
total.
###o3
#•62 49
mx*
i#ti_
##*3 3*
ML*
•#•67
##6-4 4V
•tOL*
###40
M*T 3ft
A#X#
•M69
MM 69
RQLA
###7#
M47 3ft
AftLB
#•#71
M6fl 49
HOL*
###72
•#** MA*
L(ft*
D, V
Add b*«i. 4 atl*.
•••73
Mot- 2#DF
BRA
HICVTl
Sat nttl tharactar
«■■ ■
M6D 1F24
Mucvr*
TF*
v.a
••#75
M6? •$&*
• J ■
»,v-kJ,PC
#M7o
#•71 BCE33#
OffftOL
LDl
•u«e
•JWTJ
M74 4F
OLMA
M#?B
M73 A]f>4
GPP*
, i
•#• •
M77 3724
*EO
E tenon
M*ov
M79 A#C9E2?a
OMTine
LDA
Cvoo.»,u
Clock MOLf> IPha.
###•1
M7D Al»4
CM^A
i >
• ,V .
M)F Mii
•ME
DFFl
N«l En o«.
9—ez
•Ml MM
LDA
MM
MSP o« 1M#.
BMBI
•##] A7C#C#4#
1TA
f IJ90UT.U
On Data out I,
•#M9
M67 C6C9E23-*
OFTT
CD#
CL0O*4.U
1m It OFF 9
•##Sb
•Mt Cl#l
0«PB
1 . >
'•*.. vm*m: tiaa.
##•#7
•M& j*t?
BNE
CNTVOL.
Not Q4» Bo cnack ON,
•#••&
Mftf C6M
LD*
IIH
vii o#* b*l 1 .
•##09
M9l i7C#t#4#
BTB
FJAOUV.U
•M**
—9t BE#M1
LOW
LDi
MNfl
H it «or 1 tich.
#•#41
«#•# J#3f#*
Oft9
FBKlEI-
•#•92
•MB 3#04
BRA
CWTROL
Go Ch*ct ON «|n n.
MM3
N9D 3P
ERAuW
ELM
M#»4
•»■* ]|3F#6
0*9
f Exit
Error fto noma.
#M93
•#61 434E3443
(MOCK
FCC
/IMIfi TIME ON 6 TIME OFF/
#M9o
Mt* #A#0
FCB
tfJtfijM
•#•97
MIA
bTML**
fOU
«-0KDCR
M#9B
Ml» I9FM4
CHOO
###'■*
M#€
MEND
ECHJ
•
»J06 *9l» in#ei
16 Novfntfr )«6-
6600 Micro Journal
•O Bo* B«.B
Hlnwon TM 17>«3
K1UP
I h«v« «njoy«d mf 6BDP >yvt»« (altlurr el &V.Ciai fc . »t« 1 for
o«ny yaara with lha aid of your frtti M|ttkM. Finally ho^ur 1
oacidvcl to uPftrad* to tK« 4609 uaint fc«i« tyitrt* 66 board*. Ft rat
lh« aolhfr board with ovy old »E0» lyilra., aII «vi\I w»H and I bat ■•+
to bw*y to car.tl rvua. Wow ioj* nine pnnihi <$(vr or lak* a l*w Mr»)
laitt 1 « trying to brl i\* up tht r«*l oC lh«> ijntta, at ill uiing. lh»
boarda froa Data •yatvoa 66. 1 ■ cP* the h oddraaa 1/0 option and put
lay tarolnal at IOC*. So far I h»v* aol «v«n b«ri» abl* to bf>«*B up tri«
S^buB pro»jil with Jutt lh» CFU an ataaty installed. V«« 1 did chan&r
th* I/O *4draaa awl ten and ! Kav* a iaar T contlnwov* J cow 0000 to OFfT,
Cartainly mmny of your r««d*r« avit h«vt \n«o ihu tytir* with
varying «a|r««i ol •Uccati. MOv« ] (arf,oitar\ aoaw ila r U llttlv tM«B' 1
Vbwr KvlP win b» Bratalully r«C*fv«d, y**t\f.
V. B. J6f l«nb«. I
r.I. I would hav
FLEX Equates
The listing of FLEX equates contains most of the storage
locations, DOS user callable subroutines, and various
dummy data structures and equates needed for proper
6 809 assembly lanquaq© proqrommlng- AH equated values
were taken from the TSC FLEX Programmer's Manual for
the 6809 version of FLEX,
Any of you out there who have programmed In IBM 360/370
assembler know the use of a D?feCT (Du^my Section). I
ha^te defined osects for an FCB (File Control Block) and a
SIR (System Information Record). The format described by
a Dsect may be associated with a particular area of
storage. For example, to access the various fields
within an FCB, an Index register should contain the
address of an FCB storage area. It Is then Just a
matter of using the variables In the FCB Dsect, along
with the Index register, to access any field In the are**
orrar <•
warning.**)
•#4TBC M]9# PrOQraa bytoa ovnwatao
IM6L Bftltft dltl btrtH allDcalad
MIC9 M437 by to* W««d «or avaoola
Example:
LDX
LDD
Record
STD
LDA
STA
JSR
BCS
LDY
sector buffer
LDD
/SYSFCB X-
ISIRTS
> FCB storaae area
point to System Info
FCBCP,X set trk/sec In FCB
IXRSS get function code to read
FC8FC.X save code In FCB
FMSCAL read the SIR from disk
ERROR branch If error
ISIRFCB+FCBSB point to SIR's
SIRV0L,Y get volume# of disk
C0HPUTBI EKCELLEPCI
4S34 l.«. 12th AV«
fort L#«j4#rrl#l« f fL 35334
303 742-6321
I • C
pOv. 12, 1964
Sod Will loo* Sr.
?. 0. Pot 649
HUo», TN 37343
D««r Dob;
Tb» prlcn of 236K DI*M Cbipa b*a drofbatj ilgolf lc#0t ly 1b
th» last 90 oaya. We would Ilk* to iLtooncf «& la««olat« prlcn
rodnctloo. Tb« i M«j. card will bt 11595.. tb# 5121 card will b«
11095. »d th. 2561 boo 1261 cardB raaain tb» ••.«, 1750. ft *595.
•t will alio ••!! th* PC card for $100.
Tteaak yodi
?^4 ^
7. P. FarbBwortb
Vic* Prtaldaat
*
* FLEX Subroutine Link49#s
COCO
FLEX
EOU
fCOOO
CDOO
CODS
EOU
FLEX4-S00
coldstart #Dtrr point
am
MftlS
60U
FtEX*l03
•irBSUrt *ntrv F#jht
caoo
RDfTEW
EOU
REW06
00S biiD loop re-entry point
(2)09
1MCM
EOU
FLEX>»09
input character
awe
IHCK2
EOU
FLEX+tOC
inpyt ch*rict*r
CDOF
ancH
m
FLEX^SOF
output character
C812
0UTCH2
EOU
FLEX*«12
output chiratttr
CDI5
GETCHR
EOU
FLEX*»15
9«t character
CD18
Pino*?
EW
FLEX*»18
put character
CDI8
INfiUT
EOU
FLEX*»1B
inpgt into tine buffer
CDiE
PSTTuND
EjQU
FIEX+I1E
priftt string Kith crlF
C021
CLASS
m
FLEX>t21
classify character
CD24
PCftF
EOtJ
FLEX+124
print 0? and LF
CM
NXTCH
EOU
FLEX*$27
set next buffer character
C0#M
RSTPIO
KU
FLEX*l2ft
restore I/O vectors
CU20
GETFIL
E«t
FLEI*$2»
9et file specification
CD30
LOAD
EW
FLEX*«30
file loader
OT33
SfclElT
EOU
FLEX*I33
set extension
'66' Micro Journal
43
0000
Wi
EQU
••
0001
111
E9U
i
■•
0002
00
m
2
•■
0003
bas
EQU
3
**
0004
SYS
EQU
4
**
0005
m
EQU
5
♦♦
0006
SCR
EQU
6
♦•
ooc?
DAT
EQU
7
M
0008
BAC
EQU
8
• •
O0O9
DIR
EQU
9
• •
OOOfl
m
EQU
10
• •
0008
or
EQU
11
• ■
CS36
Afltfil
EQU
FLEX*t34
add B-resisttr to 1-resister
CS39
oomc
EQU
FIEM39
output decimal number
COX
ouncx
EQU
FlEI+fX
output hexadecimal number
a&
NTJtKN
EOU
FLE1+I3T
report error
CW2
GET**
EQU
FLEM42
ttt hexadecimal number
CD45
RJWR
EQU
FIEIH45
output hexadecimal address
C048
IWEC
EQU
FLEIH48
output decimal number
C948
DCDHJ
EQU
FIEUI46
eatl DOS as a subroutine
rre
STAT
EQU
FLEI+14E
chock terminal input status
i
• File
1
srsfce
riantstmtnt System Entry Points
C84Q
EQU
SC840
Svstem FC8
woo
F«S
EQU
•0404
File Pknastment $vsttm tntnr
woo
FHSINT
EQU
FWS**#0
FHS Initialization
W03
peas
EQU
FHS+W3
FHS close
W06
n&PL
EQU
F«S*S<K
FKS call
*
♦ Global Variables
0409
o
FCBASE
KU
FNSff09
FCB base pointer
woe
FCflCW
Evil
F«S*«06
current fC8 addross
W35
FC9V«P
ecu
FKS+W5
verify Has
♦ DOS memory
map
cm
t
UCRf
EQU
•coeo
to KOfT (128 bvte lint buf)
ccoo
«*>
EQU
KXOO
start of MP
ccoo
BS
EQU
NAP+W
TTYSCT backspace char
CCOl
sa
EOU
MAP+IOI
TTYSET dtlttt character
CC02
EOL
m\
MAP*f02
TTYSET end of lino character
cco3
DEPTH
EQU
rW>*S03
TTYSET deptn count
0C04
WIDTH
EQU
**>*ft04
TTYSET mdtn count
0005
mi
EQU
MAJ>*«05
TTYSET null count
CCW
TAB
■QU
«AP*I06
TTYSET tab character
CC07
BSE
EQU
hap*io7
TTYSET backspace echo character
CC08
EJECT
EQU
fW>*WG
TTYSET eject count
CC09
m
EOU
MAP+109
TTYSET pause control
CCOfl
ESC
KU
HAPftOA
TTYSET escape character
(£06
SOW
KU
hAPfsoe
svsten drive number
ccoc
fcKDRV
■QU
P#Y>*I0C
*erk drivo number
(X00
svsesi
EQU
MAP+IOO
SYStei scratch
•COE
SVDR
EQU
hAPflOE
SYStn date resistors
ecu
lstjw
EQU
«#♦•!!
last terminator
CC12
UCTA
KU
nAP*ti2
user coe*and table address
COM
6tFF*T
EOU
nflP*U4
line buffer pointer
CC16
ESCfiR
■QU
nAf>*tl6
escape return resister
ccia
CJC
EQU
wile
current charactor
CC19
rTOl
EQU
rw>*ti9
previous character
CCIA
an
KU
nAPftiA
current tine nunfcer
CC1B
LAO
EQU
MAP*1B
loader address offset
CC1D
mc
■QU
P#V*I1D
transfer Has
cue
twow
EOU
MAPH1E
transfer address
CC20
fitserr
KU
HAP+120
error trpe
CC21
IGFLG
EQU
hap**21
special I/O Has
CC22
osm*
EQU
MAJM22
output Juitca
CC23
ISWTD*
EOU
NAPH23
input smtch
CC24
FOA
EOU
NAPH24
file output address
CCtt
FIA
EOU
HAP+126
file lfttut address
CC28
CWFLG
EQU
MAP*I26
co wand flas
CC29
CDC
EOU
HAP+129
current output coluon
CC2A
STSCR2
EOU
MAPftfA
SYstes scratch
CC2S
»©©€)
KU
MAP+129
•etjOfY end
CC20
EW
Ear
W**20
error naM vector
CC2F
F!ff
KU
NAP+*2F
file input echo flas
CC30
SfSCJQ
KU
HAPt«30
SYStoi scratch
CC4E
SYSION
EQU
HAP+S4E
SYSte* constants
ccco
FRINIT
KU
w*«co
printer initial ire
0C08
PRO*
EOU
rW*»D8
printer roadY chock
Ct*4
POUT
EQU
Wf+Ui
printer output
rr*8 SYSCR4 EQU NAP+4F8 svstoo scratch
» Dsect for
an FCB
0000
ORG
$0000
0000
FCffC
Rf©
1
function cot>
0001
FC9ES8
Rf©
1
error status bvte
0002
FC8AS
f5C
:
activity status
»01
ASftAO
EQU
l
eeopen for read
0002
AS&D1T
EQU
2
••open for trite
0003
FC8SN
wC
1
drive number
0004
FCBMArl
RfC
a
filt name
oooc
RW
3
extension
OOOF
FCfiFA
R^C
i
file attributes
0080
FA«P
EOU
X 10000000 ♦♦writ* Protect
0040
FA[f
EQU
tOIOOOOOO ••delete protect
O020
FttP
EQU
ZOOL 00000 •tread protect
0010
FACP
EQU
X0001000C
1 ♦• cataloe protect
0010
FCWS1
(9Q
1
reserved for future use
0011
FCBSDA
RftB
2
startins disk addr of file
0013
FCfiEDA
R«B
2
ertdins disk addr of file
0015
FCfiFS
Rffi
2
file size
0017
FOFS«
RT6
1
file sector map indicator
0000
F9GEQ
EQU
••sequential flit
0002
FSmPh
EQU
!
eerandom file
0018
FC8RS2
RHB
i
reserved for future ust
0019
FC8FC0
EOU
*
filt creation date
0019
FCWTH
Rf©
i
«t*nfh
OOIA
FOBAY
RT6
1
today
001B
FCJW?
RfQ
l
•♦vtar
001C
Fcap
RfC
2
FCfi list pointer
OOIE
FC8CP
RfQ
2
trk/sec currently in sec buff
0020
fCKRH
we
2
current record number
0022
FC80I
RPfi
i
data index
0023
FC8RI
RHfi
1
random index
0024
FC94C
rvQ
11
name uork buffer
002F
FCBCOA
fff
3
current directory address
0032
FC8FO0
RfC
3
first deleted dir Ptr
0035
FCWSCH
RMB
11
scratch bYtt*
0038
«G
►UfclH**
0038
FC6SCF
Rffi
1
SHct compression flat
0000
SCFSC
■01
100
•tperfor* space compr.
OOfF
SCFXSC
EQU
UF
otperforn no space compr.
0040
ORG
FCWRtll
0040
FC9S8
SOU
i
sector buffer
0040
SSLIMC
RW
2
next trk/sector in chain
0042
SWSl
RTfi
2
reserved for future use
0044
S80ATA
RMB
252
data storaie
0140
FC610*
KU
■
lertsth of FC8
» Function Codes
0000
IfttC
EOU
read/urite next bvte/char
0001
IQRDW
EQU
1
open for read
0002
1GW1T
KU
2
open for trite
0003
KXTOT
KU
3
open for update
_0004
tOOSE
EQU
L
close file
0003
I KIM)
KU
5
rewind filt
0004
I0OIR
EQU
h
i
open directory
0007
IG1R
EQU
7
tot information record
0006
XP1R
EOU
8
put infortat
ion record
oow
XRSS
EQU
9
read smsle
sector
•OOA
IUSS
EOU
10
•rite sinsle sector
0006
IRES1
EQU
11
reserved for future use
OOOC
Kerr
KU
12
delete file
0000
XREMArl
KU
13
rename file
OOOE
XFES2
EOU
14
reserved for future use
OOOF
XMSS
EOU
15
next sequential sector
0010
IOSIR
EOU
16
open srsteo) info roc
'68' Micro JournaJ
001 1
XG*6
EQII
17
set ran dot bvte fro* sector
0012
XPR8
EOU
18
put randoi
bYte in
sector
0013
X«K3
EOU
I?
reserved for future use
0014
XFND
EOU
20
find next drtve
0015
C^OSK
ran
21
Position to
i record
n
0016
XBOR
EOU
22
bacfcu' oft*
record
• >5*ct for
* SIR
0000
ORG
•0000
oooo
RH6
16
16 bvte header
0010
SlfetiA
RJ1B
8
volute naie
0016
m
3
extension
001B
S1W0L
HUB
2
voluw mi»b*r
0010
SIRFS8
BIB
2
besinnins of free
chain
ooir
SIRFSE
RflB
2
end of free chain
0021
SIRFSS
RflB
2
• sectors in Free chain
0023
SIROS
EOU
1
creation date of disk
0023
SIRFTN
RflB
:
»»«ontfc
0024
SIRDAY
RUB
l
•*dav
0025
SIRYR
WO
i
•♦Year
0026
SIRHTS
FW9
2
taxnwi trfc/sec available
0028
SIRLEN
EOU
#
SIR lensth
t
* thutHanious tiuatts
0003 S1RTS
eo;
•0*03
trk/$« of SIR
0005 OIRTS
E«J
•0005
trk/stc of 1st nod* in dir
0004 EOT
EOU
4
end of text delimiter
OOOA CSLF
EQII
•OOOA
cirrus* i
return, line tttt
0000 C*
EOU
•00
carri49t
return
OOW IF
EQII
«0A
line ftttf
0007 BSJ.
Eau
•07
bed
0020 SP
EBJ
•20
SNCt
0000 URAK
EOU
•OOOO
to •BFFF
(User RAff area!
\
COOO STXA
EOU
•cooo
to •C07F (SP init«d to C07T)
C100 OCA
EQII
•CIOO
to fC&Ff (Util CM Are»J
1
C700 Stt
EOU
•C700
to IC83F
(Schdlr & Spooler)
C980 SFA
EOU
•C980
to C8FF i$n\f File* Are*)
CCOO DOS
EOU
•aoo
to 03FF fOOSl
1-700 CU»
EOU
•F700
rN) tite
clock (DOS)
DEOO OORV
EQII
•DEOO
to OFFF (Disk Drivers)
CFI
LIS
SYWCL 7ABL£
J
A0C8X CS36
ASKAD0001
ftSWIT 0002
6AC 0006
BMC
0005
BflS 0003
SELL
0007
bin oooo
BS CCOO
BSE
CC07
HFPNr CCH
CLASS C021
ON CCIA
CLOCK F700
OT
0002
OTFLG CC28
CX
CC29
COLDS COOO
CR 0000
CH.F
OOOA
a«C C€18
OAT
0007
DON OEOO
flfcl CC01
IEFTH
CC03
DIR 0009
DIRTS 0005
Ktttti C04B
DOS CCOO
EJECT
CC08
EXV CC2S
Ed.
CC02
EOT 0004
ESC CCOA
BOB
CCI6
FflCP 0010
FN5P
0040
FARP 0020
FAiT 0080
FCBAS
0002
FCBASE D409
FCKDA 0O2F
FCBCP OOIE
FC9CW 0020
FTBCUR D40B
PCfiOI 0022
FCcW 0003
FCfiESA 0013
FCS5B 0001
FCSFA
OOOF
FCfifC 0000
FCBFK) 0019
FCJFDO 0032
FtJFS 0015
FC8F9I 0017
FCSLEN 0140
FC8LP OOIC
FC6NAM 0004
FC6*fi 0024
FC8RI
0023
FCBRSi 0010
FC8RS2 0018
FCBS8 0040
FCBSCF 0038
FC8SCR 0035
FTBSOA 0011
PCW& tM35
FCBOAY OOIA
mm 0019
FCOT
OOIB
FIA 026
FIEF
CC»
FIB COOO
FHS 0400
FWCAL 0406
FTGOS 0403
FW»W CC20
Fm\HJ 0400
FGA CC24
FSffiAN 0002
^51610 0000
OETQ« C015
CETF1L C02D
GHrCl C042
IlfiUF
COIB
INCH CD09
IfCH2 CMC
INKC CD48
10FLG CC21
ISMTCH0C23
LAO CCIB
IF
OOOA
H€BF coeo
LOAD ©30
LSTRtt
ecu
HAP CCOO
POGIDCCa
NULL CC05
NXTOI C027
OSMTQt CC22
QJT OOOB
OUTACR CMS
arrcH coof
0UTOCC0I2
0u7HCCO39
amci cox
PALI
C009
PCRLF C024
POUT CCE4
PRDfC
CCOO
PREVC CC19
P«!NIT CCCO
PRT OOOA
PSTRHGCOIE
PUTOH C018
R9TUI C006
RPTERR C03F
RS1RI0C02A
SBQATA0044
S8L1NK0O40
38RS1 0042
smec ooff
SCFSC 0000
SCR 0006
sfren CB33
3FA CTCO
SIRCRE 0023
SIRQAV 0024
SIRFSS 0010
SIRFSE 001F
5IRFSSOC21
SIRLEN 0028
si&rmoo23
SIfefTS 0026
SIWW1 0010
SIRTS 0003
SIRVOL 0018
SIRYK 0025
SP 0020
SPS
C700
W Micro Journal
STAT C04E
SYSCW CC4E
SYSFCBC840
XA CIOO
WSR* CCOC
XGI8 0007
XOSIR 0010
XPRB 0012
IREUND 0005
STKA COOO
SYSCRI CCOO
TAB CC06
UCTA CC12
JtBOR 0016
«SRB 001!
XOUPOT 0003
XRENAM 0000
XRSS 0009
SYOR CCOE
S'fSCR2 CC2A
TRADW CC1E
URAK OOOO
CLOSE 0004
XNSS OOOF
XOURir 0002
XRESi OOOB
XRWtB 0000
sywv ccoe
SYSCR3 CC30
TRFIG CC10
UARG C003
XDEin OOOC
XOOIR 0006
XPIR 0#08
XRES2 OOOE
XUSS OOOA
SYS 0004
SYSCR4 CCFB
m 0001
WIDTH CC04
XFND 0014
XO^AD 0001
XP09i 0015
XRES3 0013
DAVID V. OADBY
2, LUPIN CLOSE
HINCKLEY
LEICESTERSHIRE LE10 2UJ
ENGLAND
JUST A COUPLE OF PROGRAMS THAT MAY PE USEFUL TO
FELLOW 68XX USERS. I'M SORRY THERE IS NO LOWER CASE
BUT MY USED ADM3 HASNT GOT A LOWER CASE GENERATOR
FITTED YET-, t ANYONE GOT A MANUAL ?J.
THE FIRST SET OF PROGRAMS IS A PASCAL PROGRAM
ILUCIDATA1 WHICH DOES DIRECT INPUT-OUTPUT WITH THE
TERMINAL USING AN EXTERNAL PROCEDURE. IF NOTHING ELSE
IT SHOWS THAT IT WORKS. ACTUALLY IT IS PART OF AN ON-
SCREEN VORD PROCESSING SYSTEM THAT I AM DEVELOPING. .
IF YOU ARE A FLEX09 USER AND YOU HAVE ALWAYS
WANTED A FUNCTION KEY FACILITY THEN READ ON, THERE ARE
TWO PROGRAMS AND THEY WORK TOGETHER. THE FKEY CODE
OVERLAYS THE FLEX INPUT VECTORS AND INTERCEPTS ALL KEY
INPUTS IN ORDER TO TRAP THE FUNCTION KEY REQUEST
(CURRENTLY THE TAB KEY).
THE FUNLOAD PROGRAM ALLOWS YOU TO LOAD PRESET
FUNCTION KEY VALUES FROM A TEXT FILE. TXE COM*€NTEO
CODE SHOULD PROVIDE ALL THE OTHER DETAILS..
FINALLY I HAVE JUST JOINED A COMPANY WHICH IS
SELLING A 68000 BASED MACHINE SO ITS MOTOROLA ALL THE
WAY
P«DU« KEYIQj
O l»
AtmO* i fc.ViGOADSY
O CHEAT! • 29/ /«
CO |T . 73/*sa?
tXLCMVtfi UffEDIA
v£46J0* t 1.2 - t LUCIOA1A PASCAL V 3*9 1
TKIE m»M ALUM DIftfCT llVtOMW I NH1 /OLjTWUt
MSJHC AH [ETERNAL HOCEOLKE KEY tO, ALL REVKMRD
CQOEB AftI KETIAMED TO THT mOUHWI AMD THtl ALUMfl
THE PftOCRAffhEH tO USE COrTWk, COPE* "HIO ARE NUT
NDRJWLLV RAISED t*Ct TO TK PHOCTAn,
KEVjfl [fl CAU.EO WJTk A TUITION CUOC 1*4104 OCTCRmJnCS 7MC
ACTION Of THE ElTfftNAL PKDCEOURZ. AtTXXCH QMLV REAO,l*»JTE
AND HOG ARt iNTUftElfTCD hanv OT»«t POMtitLtTtEB EH T.
• I
(• ADQRE9* OF EirzXNAL **CCtOU*l •>
I CX9&T
cxtiet -*r2ooi
> rnc*D ■•01 i
rURITE ••02 t (* UHITE TO SCHEEH •!
t l&KKt *#0>i f TMAN tOC OFT •>
CC7C30N . *u-4 p | a Tut* i u « ON • ■'
/JNJS»* .CHRt«lAtJ <• TERMINATE OtftACTEft •»
Of»* I04AMI
£XTXANAL E*T«£Ti
! rVKDlAM . TO HI MOM IT MOAKS «>
« I* NAJN I
4 BEGIN
A URfTELNC' HEVJO TftT f*Q«AA TWt CTAL J t© TER«lNATt, * Jr
44 WVJO(D«l,ICMOmi I. TURN OFT EDO •)
■* RXRfAT
a4 l#l)TCLM4
06 WRITER INPUT A OARACTCA t'U
114 EEYlOlB*f»l*nXEAO)»
134 URJTEf r CHARACttR Ifi'ji
i» xLvro.'L'Asrrunirtu
1*4 MRJTtLN r CHAR VAX It 'pDAOICHIUIIi
717 UNTIL CHfll-nhlBMJ
73* WITH" HON [MTER A CHARACTER t T )f
Z54 !CTIO(C>«J*ECKKlHJ i I* HtlTORX EDCH
J'fc KEVtQlOitl.rNEADii
29a \mtTtLHt'i - IF ftCHO WAS REVTDKXi) TXEN LAftt INTUT S«UU) ftt ftEEN'Jr
34* END.
344 STTCft
tHO Of RASH 1
ENS Or RAM 2
(M TO R4R4
46
**Af)
JTCVIO
AUTHOR i D.V.GOAOW
> create i ;i/*/*a
rOIT i 29/*vS?
rtLLMA^t INOuTl.*^
i version i i.i - i ran use with lucidata
CCoq i»At;jc rog
cp.o:< ruAHMb cou
cooi iiwj iou
coot riMP3 i Chi
I [«--* OUTPUT *U"J
fb** twin i«j
. , i
•■:dot
tCPOt
•fj»a
RASCAL V 2.9 4 PS
• THIS CISC 19 TNI tlTTAMAL PRTJCXuURC EXVIO
• onto eiteanallv row tht pajc^u. ninin,
• TX rORnAT IB I«PlAtX0 IN THE PASCAL LISTING.
• LuCXdATA PARAMETER* ARC H^CEO ON A 81 AC* POINTCO TtJ
■ Br A TI.HH CMJtCO *M4i TX I |««T fa BvTEQ ARE T»t
• activation record an* are hot to it touched.
■ nARKUB** CONTAINS IX P\>1NTEA FO TX CHARACTER vARJA8l£.
• AARKUFtB CONTAINS THE ACTUAL FUNCTION CODE i
ra*2 calf >.aj u [«*r
• rut overlays
WAUxMHApt: >JN TERRINAl
MAR* LTAAT
r».H HALLS EI At MtAC.
pst-run outfvt routine
psfM» n*vr RfluriNt
COUA
COOD
ops mnpui ru i lNrvrr v*crroA
FfcB start
rw» star;
EQUATES
OlAA
OlAA
ftoo
prcltc
cou
bftoo
</!44
naRkm*
COU
• 1*4
ro*c
ECHO
cou
•rv*c
fo*e
ECHDAfi
tou
•roic
ro44
PSvInP
cou
•rfi4i
ro98
psyout
LOU
•ro-4
LOCATION Or THIS PAESStAA
test or stack rm user call
CONTAINS ADDRESS OF ECHO AQUTINE
ACTUAL AOORtS* OT ECHO A0UT1NE
PSVHDW JN»VT WCUTINC
P8VRON OUTPUT ROUTINE
• origin as nioh as nmsiBLi
paucli
PHOCL
• MAIN
START
EOU FROCEMO-BTAAT LENGTH OT CODE
!•*! muaa faun amove
one *coo© proll fur aigwt an or tx mav
FUNCTION COOC EQUATES
OOOl READ EBU
•XKJ? WRJTf IOU
oo*i4 e chuff eou
0004 COO* EOU
NCAO KEYBOARD
milt. TO SCREEN
turn off ECHO
AEVTUAC CDC
emtr?
F200 *E M4*
rzo? a* es
F2o* At €1
F20» ZT JA
rz** Bl 02
F2o# 27 10
r?«D ii oj
f2or 26 o*
r?ix io«c Oooo
rzt* icm ro«c
/?ja ioAL* ro)t
mi iobt ro*c
1?27 39
¥772 BO
T22A A/
r77» 59
f22h AA •• 0*>
i*?20 •?» **MA
r73* 39
EOU
LOi
J HA (I. I
*;np« t^iEAO
HU ftfAAl
C*»»A LlMITTt
BCD MRXTEI
•fA 1C1XVT
•**£ EO40DW
LDV LO
STY CO*D
HTB
ZCHOON LDV ttOO*XS
■TV ECHO PUT BACI CC»«0 AOWTHB
NTB ICNORt OTHfP COU Ji
GET STACK PDJNTC*
GtT FUNCTION CODE
CLXAJt [DO ADpRESfi
At All AOUTlNf
HT Rl r VALUE
•UT HCB1JLT I
> MAlTt ROUTINE
•jAIIHI LOA
J8A
ATB
(6*11
PBVOUT
BfVcDAcSk OTTtCTfB
S«T«Ot TABCti
tCHQ
IWTA¥
i -fti ECMOAO F09C E04D»T OOOJ
f^OO NMWUa 0144 PACLOC F20O
OOOt AEAOI TZ23 MHItE 0O02
CO«3N 0004)
PSVXMP FD44
MATTtl f2?*
F2AA
PSVOUT fDSA
function try*
OAVID •/. QOAMy
CNCATE • 9/9VBO
COIT • IV/3/B1
riLCNA^i 14. ncvoo.riT
wtASION < 1- J PLCicrt/PttvnaN
7X18 PfiOO»**i AU0V« TX USCA TO OtFTNE 9 FUNCTION
KEv BTAfMCB.
TXI M0CC4M INTEAtE^TS T*tf NQAA4L rUl IN^UT
F*OX THE Kl^HJAAd ANtl U<M ■ 'i I OA T"L TM HI*.
TXt TAB Ktv MAS mr CHOICE FOA YHC TN1COEA BUT VQU
CAN CHAACC IT TO AMVTNIMC VOU I tit.
IF THE TAB OAAACTEA 18 OCTTCTED THlM FHt NtJT
OAAACTEA IB 04EE8CO JtM A VAUJK OF 1-9 SICNlFirtNC
A ri^CTlON ttv KlOUtfT* IF IX VAjJMf 11 T>*N THtB
1N0ICATEB AM CHIT AXBUXBT. T>*£ tOCT F\ACT10M ALUM
TX UBXA TO 0I0P1AV ANO ALTER ANY OF T*« FUNCTION
STRING* CURRSNTLV HfLO. TX BrBUH HAS A ST«NOAR0
SET Of CQJIMJ4PB 1 N J TI A5.Lt 1 ,
MM ARE 9 rtHCTJl>t KtvB AMD tACK Kit CAN HAVt A
7* CHARACTEII PTfrlNC A8EIEJ«[J TO (T> THE STRING LXNCTH CAN
8C ALTCPCP BV CMANG1NC lm CONBTAMT LlXL,
JF TX BTRtNC IB TCRNtMAftD MlTN A V TXn FVRTXfl UttA
INPUT IB WAITED FOR. OTXRHlSC A COWLETt STNlNC All*
A CAAHJACt RETURN 18 B47NT TO FUt,
TX ACTUAL ruXTlON ify GDNSI8T9 OF A TUO <X?
SXflUCNCI TAB-muw .TX TAB KE* Iff] TRlOCtRB
A TRA# N>HO 04TCH5 TX FDLLOMINC XT VALUE.
IF TX tUV II 1 TO 4 f>Cll TX PARTICULAR FUNCTION
OESCRtBLD IV THAT X(V {8 8XHT TO FUil.
A KEV VALUE OF INDICATE! TH*T TX
U8CR UX8HC8 TO t*IT OX OF ?X PAfDCBCRlBCO
rUNTTIONB. A/TEA A TX X>T CNARACTTA SHOULD
BE J -9 AND THE FUNCTION vAl.ME UILL Bt OlBPLAVED-
TX UBCA 1XN INTCA8 M FOR NO ACTION OR A FOR
XPLAilL lULLOWEO (Jt TX NlH 8TA|**C-
A C9VANI0N I HI BUI CALLtO FUNLOAO CAN BE U«fD
TO PRtLOAH ThI TABLE MlTh nT>Rll » r« [ N£ 9£T«.
TX U«tA CAR HAVE A plFrtAENT SET OF rUNCTlOR WfvB
FOR 81FFENCNT ARPLICATIOHB EC BAB IC . ABM »BRXR ETC.
KV 8V8TD1 HAS A FULL CD*RV»UI OF XRoRT SO
I LOCATIO TX CODE BCLOW •COOO. A CLOSE
LOOM AT TX OAC BTATtRtNTS BNOULO REVEAL r*0N
1 DID ITi (NINTi I ABBENIUP IT THtCf).
*t*<» »r
81/0
«n
XBAVt
EtE^B IV
0C79
TST
FLAG
IS 0IV1AT 6TILL ON
BEM 26
27
ONE
FlN>>T
GET BUFrtA INPUT
Bt*o 80
F844
BTARTl
J8«t
INPUT
LfF CHAAACFER AS NORMAL
iF*3 81
09
Of»
L909
TAB f ■■ CHANCE T IB IF VOU LIKE
BEA* ?T
OF
BE0
THARJ
8CA7 Bf
8E72
xruRN
STk
18AVtl
SAVE BUFFER POINTER
BtAA 35
04
PICA
AtAC BE
BE70
LIU
>s*vt
8€a» 39
ATI
BC/O
»9AVE
AHS
2
B€7*
jSAVtl
AX*
1
BC?4
rWJT
4<«8
1
1 UNCTION «£V NUAOIR
yi/> 00
rtAC
FCh
DIVERT FLAG
8L7A
TRAPl
EOU
■
■ J9N BACKSPACE XEOCO
IOR BOX TERMINALS
be;a bo
FP44
JBA
INPUT
CtT XVT CHAAACTCA
st/* yo
8F1C
J8«
SSPACE
strc si
30
COITCS
CNPA
t'O
EDIT NEOUIAED 4
BE/E 1'/
."
BEB
CO IT
BEB*i *»
N
SSR
VALIO
CHECK 1-9 AND OCT ADDRESS OF CX>
SEA? 2%
oc
«•:•
6TAATI
INVALID
Bt«4 /J
BE7»
CON
FLAG
SET OlvERfcJQN
*t:Bf BE
BE72
nw»:
LO*
I SAVE 1
BtAA Ad
8-1
LUAA
0.1
6ET At»T CMARACTTR
Bt«C 81
00
CNPa
ttOO
END OF JVTRIX; 1
AIAt ?*
OS
8NE
CMKNJT
BtTp if
BE/>
FUHBAT
CLA
FLAG
SIT TO NDRnAi.
•C93 TO
cc
BRA
XTURN
8t«9 At
♦c
CHJCN1T
Cnta
t'\
USER INPUT AtQUrXD I
BES/ 2*
•%
BNI
PI 8PM
BE^ t%
8L7*
CLA
FLA£
Stf 70 NORMAL
BC9t 90
C2
m*
START I
GET USER 1NFVTT
Bt*E SO
>0>8
0I8RL1
JtA»
anrvr
BENS CHARACTER TO TEAM I HAL
BCAI 38
01
INK
POINT TO REIT [NT**
eiAj to
C2
BRA
AtTURN
BIAS 80
FD44
E01T
Jqn
INPt/T
GET FUXTION NO.
Bf AA 8t>
72
BW)
BSF-Atl
PCAA 40
>2
AW
VALID
8CE IF 1 9 ANO GET ADDRESS
BtA{ 73
82
set
START l
BKAt BF
BE72
8TJI
*SAXE
SAVE ENTKV VAIjUE
■ OXBRLAV FUNCTION ftv CDNTLNTB
BtBI 8A
.*
OlSRLAV
LDAA
IT
f»EK3 K0
roM
JSR
OUTPtT
6f&* l>A
Pl*4
LOAA
FNUH
GET NURSER
BfBV BD
FD^8
USA
OUTPUT
WBC 84
10
LDAA
t'.
PEW 80
PD1S
JSR
pumfl
•k.i:i he
Bt77
LOI
ISAVEl
«t« AA
80
PLOOP
LOAA
O, I.
tl T CHUM Tl h
Sir:* 81
M
CFA-A
CAOO
10L 1
BClft 21
08
BCU
C0NX1T
tttJi BO
»D9*
JHH
OUTPUT
BFU* TO
r*
BRA
PLOOP
PRINT THE AEJST
BtCJ Ad
M
START2
LOAA
1400
SEND CR TO FLE*
*EUi ?V
•14
BNA
RETURN
• non Check ior r
BEDS 8A
JA
fONtfT
LOAA
t'i
ErPERATOR
X09 »0
ros*
JSR
OUTT*UT
BEP8 80
FD44
JSR
1N>V»T
t-lT (■ T JJN
BEOS 81
»2
CNT>A
im
XALACE »
BSOP 7*
ro
sx
8TAAT2
• CVTSR
REM 6TAINC
MM 8*
3D
LOAA
• '•
SIGNIFY START OF STAINS
811 1 80
ro>s
JSR
OUTPUT
BtXA BE
II-.
LPx
ISA Vtl
GCT TABU ENTRY
11 J' CA
47
LDAA
KLlNtL.l
LEHLTH OF Buflf.m-1
Bf iv AD
ro*i
rot-oop
JSR
JAJPUT
i.l T XXT CHAAACTEA
■LtC A/
so
STAA
O.A»
SAVE ABSICNXO BTRCAC IN TABLE
I'M ' Si
OD
CMPA
LAOD
FINISHED »
Btro 27
,?
8E8
DUNE
AE», "A
OtCB
BEF3 JA
F4
ax
EOLODR
GET BOX NORt
HIM*
00
LOAA
tSOO
FORCE CR
BEF7 A7
so
•TA*
0. t.
8fr9 80
F8A3
DOX
JSR
CALF
8CFC 20
S3
BRA
OISPLAV
•NOW XU EMTRV AMD NAtT FOR R OR
bPEl IF IC EOUATtB
0018 LlXL IP*i
0O09 TRICCA E«AJ
• TU* EOUATtB
LIHE LENGTH i INCL CR»
tab CHAHACTER FOR TAlCGtR
BEFt 8'
•TOE Bl
8F9J .'J
sro? $i
BfD7 23
SFOt C4>
BF10 SO
BFU 30
BF1A 8F
BFJA IC
BFIA 39
BF19 1A
BFJ8 39
BflC 34
» THIS AOUT1X VALIOATCB THE FKCV NLmBCR 1-9 ANO
XTURHS THE ACTUAL AODREB* Of TX 8TAIX IN 1
IF VALI0A7IDN FAILS TXN THE CAARV SIT IS SET.
'ALIO STAA FNUH SAVE FUNCTION MUr«D*
C9VA t'9
BR] EISA
SURA «'l SET TO ■INARV-l
LOI ETABLE
• RULTIALV A Bv LiXL TO INDEX iNTD FABLE
• THANES >UR A809
• TXN AOO TO F TO POINT TO ENTRY.
LD8 ELtNXL GET LlX LEXtN
mil A»S lp
LEAF 0.* I.1«D
8TI iSAVtl
CLC OK
ATB
SEC NOT 08
'68' Micro Journal
BF1E ft* CCO0
BF71 SO il^
SF--4 3S <*2
BACK
OUTPUT
i TABLE W PRESET C <J "J*4<4gS
bfj/ *■• ••
>?
roc
/OIR/
■ir* DO
re*
40
•rat
OAC
I'l.lfttfL'TAftU
NV K4V
SJ >4
• ec
/LlfcNW
Sf 42 2C SC
BF4* 00
FCO
•0
*>'
■.*.<.
:«LINEL« TABLE
84 S? 90 44
4* 4C
rtx
/PofL»\r
4F** 3C SC
4fS0 00
ics
•0
■F4I
ia-i.
3»*LI«L*Ta*LE
ttfcf 45 44
rcc
sCSlT.W
ir/a sc sc
•r/* oo
fcb
•0
#b/
CMC
4«Lr«CL»TAftLC
«r«r 4i sa
10 «?
rrc
/AWu. W
4*4* x sc
DtOOO
rco
to
Kvr
[»!.
'*t|»4L*TAWl
(tv| 4 J 41
so sa
rex
>SCPr ( 4. >.\/
WAJ ?C *4
7C 3»J
M */ 2C SC
WW SO
ret
40
*f»/
OKC
t'UNtL+TABLE
aFB7 44 49
*2 ?C
rcc
/•IRiOi 104/
9f»9 *> SC
2E 4a
bft# 4D 44
erct OD
FCO
to
E'F 1
o*c
fllXLl,*rAhU
•rcr 40 41
M) 2C
fCC
/HAP.\r
WW SC
**t>4 OO
*ct
«•
&f */
on
■ •LINCL4TADLE
9fZ? 42 41
S3 49
f*x
/BASIC/
arts 43
BF EC 00
rco
40
■rrr
ORG
V«L[«ftt-»TMU.E
bfff oo
rco
40 OUTtW CMO
COOO
PRDCCNO tow
• sttmrr of of ft me*
• nomi/v h£nai jn rLtif to allov ro* r«£v
CC2»
ORC
♦CC28 NET«ND
CC-/S BESS
tOB
start t
iJ*oiii» Dt tilth*
OACJ MOO OO^WZ BCIC
DIEPLA SCSI OONE BCF*
UMiT BIO] ERROR tf!9
flag Bf/s r*r bcm
LlNSL 0*11 O/TBVT FOSS
MtQCLl t'lAA RETURN *t4/
TABU Bfr? tWAPl SC/4
■S*Vll Pi'?
CHBNIT SC»S CBCT ID*/ DISPLl PE9C
EOIT BtAS ED1TCI Bt'C COUXB> BCE9
riNPi ra»9 riMpj cooc finpt •»>
funott B¥*© f nw i cuoa input ro-4
occ4 p«julln cooo proq. oiaa
CJ2I l*
ClJO F>
ClJB BE
C|3* h:.
ClJ* 3*
CUB BE
C13E IK
Cl*l 7t
C141
.. ;+■ or
1«
ML
C14A 24
CMC 20
C14E A4
t.ir.1- »i
C197 2*
C1M BC
cur V
til* C*
CISC M
Cl»D OF
Clio ?*
CI 43 2ft
Ci*3 ft*
C14? Of
C16A *7
C14C BO
Cl*r 2*
M". ft
42
C1B4
Cl»2
00
ma
£104
C102
Cl04
C1B7
ClM
CC
0404
09
ciT4 oo coar
CI/7 00 0403
cir* /c cpoa
C; *l> «*l liB*
t-l#i DO COIE
CIS) 70 tO
C1BS BC C19E
ClM 20 F6
ClM 4C 45 99 »
Cl« 20 »4 44 41
ClW 4C 20 29 20
LOO t* Ll« COLMT
STB LlNtCT
• fcEAO data rnoi P!8« imtd table
POINT TO rCB
CTT CMAH
«E*T POSITION
cxD or ti«c ♦: r
PUT IN TABU
CTUtt *U POSITION
CR t
FILL TO [« OF LINE MlTM CR
GO LAST CHMM
BOiA BE CR. .
err btart or kit lj«c
OCT KIAOy FOR fCJT 1.1MC
OLMP COMT
OB TO CONTINUE
CLOSE Fit*
C0L4J) Bit SERIOUS
PROCCB»lNC
ERROR
BTA«7 KM START 1 BC40
TRltCR OOO* VAi.10
START2 SECT
xSAvE BE/0
Cl«4 4*
4E
54
92
C141A 4»
41
W
tUD 04
rcj
Cl« 4C
49
4E
49
NBX22 rOC
C1A2 20
31
U
M
LIA4 TO
4 J
*n
*i
** 42
#J
• 1
N
CtAE 41
»2
»J
ClOl 04
fcb
• data aria
»-.
fOFtlM RRB)
CI 04
EOTTAB RRB)
JW RPTERB
JBR P«CL8 CLOU *U TILES
J«P HARnS fit TUB** TO rLEJ
• THE FQLLOVlMC ARf BX3FT ERRORS
(RHORl LD* IhSCl
ERREXT JSR BTRfNC
BAA EM>J T
KRR0R2 ton UR£7
»na CRftiJtr
• CRROR nCSSACE S7RI*C
A«Cl FCC /LESS THAN 9 ENTRIES.
/LIME >24 CXAAACTBRS/
END OT CVS«NT LINE
EM) Of TABLE
ME*T TAJLC E*TW¥
LINES COM?
riHUOAS FLElOO VCRStOJb
tm
f|MLTLO< II » LOACH A
• AUTX3A * OAVIO V, COAQOv
• CREATE i 4/»/«©
• EOfT . l»/»2/Ap
• MLEHA«1* j4.rUNLOAC4,T«T
• VERSION • i.J riJl09/FltiVO9 V 1.3
RIBt OETICTTO
CLffPQS C2B4 CNOIT Ct*S EOTLtN Cl»2 EOfTAB C1S4 EJBttlT C1AO
~ tl/4 ERROR1 CirO (RRESta CIS) FCB C««0 fm 0404
0*0J CETT1L CD2D LINECT CIS* llNEi. OOiS LlMZMEt Cl4£
"SCS Cl*l R£Al»> C433 RPTERR COOF SETtlt CD33
STK1IC COIE
BTART ClOO
vw CI 02
•TARTl CIO) STORLR Cl9B
COM
F2/
0O14
• TMjfl PROGRAM riElOAOS TM STRING TaSJX IN TX
• FUNCTION KEY ROOULE HfTH A SET OF PREOErJNEO
• STNlNCS FROM A TCIT riLE.
*
. COhnMta rORRATiFLMLCUO.TEYTrrLENAflE
• If ANV LtNC IS TOO LONG PR TM£rI ARE LESS THAW 9
p FNTAIES Oft THE FILE TiCN AN CRROR n£S6ACt JS OI0Pl.*vEO<
• THt FILE CAM BC CREATED US INC TME EOfTTS* AMD
• CONSISTS OF OWE LJMT PER XEV 6T*RTIfC AT *EV I
• SPEC! L EOOATtS I REFER TO FXEY LISTtNC 3
4SF2/
TAOLE
LtftCL
CPU
SOU
T**LC •AORXSS IN FC4CT10X «Ev NOOU
LINE LENCTV
BBM
Ct>7t>
Loir
04O2
CB3>
COlC
ClOO
CiOP 20 01
C102 03
CIG3 SI LA40
C104 BO CO20
CIO* 29 **
ClOO «4 Ol
ClOO *r S4
CVOt BD £033
CJ12 90 P44>4
Ctlt 2* SO
CHI BE BF2/
CUA SF CIS*
CllO 10SE OOOB
C171 10BF C1B4
CI2S BE B It
C12S C4 IS
C12A 3A
C12S ST C1I2
> rui cohates
FCB EOU
rtm eou
WARMS EOU
CETt I L E«W
MPTIRR IOU
rmns i+>
WftJT IOU
VTKIMG IOU
•CO03
VC02D
4C03F
8VBTXM FCS
FLE* ENTRT
START
STAWT1
res
LtM
JSR
•COlE
•ClOO
•TARTl
3
*FCS
CITML
El
. ■
SJCTtlT
-L FILES
SET E i TENSION
PRl»f» 8TRIAC
TRAAfilFATf AREA
UBX BVSTtM FT*
CET FILE MARC
DUFF MAME
OPSN FOR READ
PUT jMTD FC»
SET TO .TIT
OPEN riLE
- SETUP TASLE PARAMETERS
CET TABLE LOCATION
1ST CHAR OF 1ST LINE
L*v
('•LINE*.
LENCTW OF TABLE
BTT
LDE
LOS
ASM
STl
IU#T**
ETAflU
4L1NEL
tOTLTM
END OF TABLE ♦*
LENCTM Of SINGLE E«TRT
END OF FIRST LINE •*
Ht, Don WllllABA
6S Hlcro Jovrcil
3900 C«tttn4r- Smith
r.O.iom 649
IliBoc, Tb. J7343
Dtt: Mr. WHIIibi,
>033 H.Stn tabrl«l,#2«
tontfitf, Ca. 1770
19 Oct. 19«4
Ste-2BO-«377
1 xmm6 wlcti iattrnt, and ipit •tviiiiet, jour rivlit of "Flrt
la est Vtllaj*. It la mot too ■iirprlalag tbat tbe book 1* aa
liiecvtttt. My okiitvitloi la (kit ilaoit all prlatad aatarlal
coacaralag tlcrocotpitt ti ibirn till faalt. 1 ltva aaar a vary
larga boatiaallar ••« alait It raftalarly la bppaa of (laSlaf
mvi 41 Joareal* ef ^blch 1 bava avar beard, aa wall aa aaajareaa
baoka oa tba aabjacta •/ aaft- aaal bard-mri. lacldaat a 11>.
41 J. la cba aaly aafailaa ca whlcb I aabaerlba alcboafb 1 do
laaf cbroasb abaat twaaty aacb saatb,
Slaca 1 bava vorbad la alactrealca alaca tba aarlj 1950*i aad
••*• baaa lata al c rocoapuc lat alaca 1975 parbapa I could ba
parailtlad a law coaiasti oa cba ataca of tba al c Focoapw 1 114
world.
'6$' fVKcto Journal
47
It ■■•■• ts a* that lb* *»»ll*Mnf tadualr* tin pvrfactad til*
alcbaaical ■tract* *f oat at a, aad »■* pf«vta«jaly 1* til* daaala
ol goaitaanta, vblch la tba tuttU| Of. papat lata aoaiy ill tba
■yplicitiDD of lak. ivldaai ly tb* aala purpoa* of tdii «i|iilnti
1* to **11 advarllalag aad iviatvill^ piolucti. rithtr tb*n
balag coaaltied Co tba d linalial loa ol vtilul laloroatloa,
float ol cb* publication coalag lac* ar vlav cootala aotblog ol
aalua, aod tba balaac* coaiala Hill*. gaaa tba advari 1 ■•■•«(•
aaldoa daacrlba Itaaa adao,uitil7 aad ipii ol cbo* 11* autrlgbc.
Parbapa cbla ta tori a cooooot oo cbo praaaat day coaputarlat
ratbar ibaa cb* ■•••(.ccvnr. aad publlahar* aa v looklog tbro. t b
•7 coiloclloa of old oa«a«laaa 1 Had a auch aon coaaldarat*
approach. I think that ioat*h«i aftar 1*74-7* th* taduatr?
griduatad troi a aataaalaat »mpotn i« a tttHttlil, dollar
drlaaa approach Co tbt 11*14.
A *l*ll*r craooltloa cook place lo ihi poll VU2 day* ol Hit
C4di*. Vltb tb* r*U*a* *l «" »*r*lt* raLatad **alpa**t ai
vara Cull ol arilclo* oo coaaaraloo aad «•* al aacb a*alp*a*l
•• wall mm ac ratch-bul Idlag (backlag). Tbla parlod o( lacaraac
vii aaty laporcaat to cbo prograaa ol alaccroolca la tb* G-S.
ii mmmj ol ao. ayaalf lacladad. caa* l*to Coaaarclal alactroalca
or 'mlor-iHi" aquipaanl 10 th* atrial, aad tbla pirlod airkad
a dlatlacc cbaaga 1* lb* aagaalaaa. Adaar c laaaoata for factory
agalpaaat baga* to crowd owe artlclaa, **d cbo arilclaa cbaagad
lo doacrlblog uiii lor ao,ulpaa*t ratbar lb** coaacraccioo **d
aodldcat too. 1 rogacd cbla aa cba dlract procaraor Co tbo
Cilia*** ***d craaa aaicb raducad aa lataraatlag. adacadoaal
hobby to a punult far laathar luigad laaadartbala. Tb* reaall
«aa cbai aaay ol tbo aaaal acturar a vaac oat of baatooaa aad
aaay ol cbo botbylata did llhowl**. Today Haa ladio 1* •• aapty
coaputlog (laid, 11 o*ly cboao dlraclly dollar-drl mi ara Co
weald ana c* ba aooopall oatloo ol iilotaacloo bacaaaa ol lea
aalua. Ublla I do aoc docry coaputar gaoaa, aapoclally of Cba
alaulatloo typa, I laai that oaalowo prograaa la cba flald
*y*t*a* t aad application prograaa coaatltatal ■■ alaoar
lap aaa ah la black far aaay b*aby coapatariata , it toy ha
aaab a taab I caa nitit jo* tbat tb* tacbalfaaa caa ba
ogly aay ta atcaaolac* *aff lalaat kaoaladga to oootot **•
la haildiag a "draaa" latarraca bat aacb at at l tad* ta dwa (ba
aaaaractarar aba aappllaa aaab laloraalloo wlcbooc coy daaar
a*lla uaraadabla laraa cap la* *l littintt. una ah la data*
11 cbi lucura ol olerocoopue log la to follow cba hlatory ol
Cbo ooca prood aotoaobll* ladaitri a* will aooo bitt cbraa
•r loar aajor ■«■«! acturara lalt. aad «■ will all b* lb*
pooror lor it. I hillaii that cb* aaglaci ol cba 660* aad low
tha 44000 la dlraetly du* fa tb* pi ifaiiiraiet of unlvl data
1 aoat tbaah tbo*** aacb a* year**lf aad T5C f ah* wndarataad
tbla oood ood attaapt Co 1111 II. 1 coo ooly ucounii you Co
aatiad your olforca la tbla dlraccloo by yoar raalava **d
crltlcliaa ol ttuiptm aad prograoa ta cba 64XX flald aad aa
balplag to aalataia a blgh aiaadard ol aacallaaea la kardvara
alaearal* fawn,
mXju%^\J^
H» J, train lb
ol cb* fttgltal Srataaa "Qalhoard". Ic 1* *oc will
ilt troit iv* to tha Cola? Coaputar*
9km Paacb fload,
aaefclaad, to
*•- Zaalaitd
Phaoa 6l~*.b*a?*i5
69 Klcri Javraal
P.O. *n 61*
Hlaaaa, T* )?>b>
0*a r lira.
Ibacaatl) 1 coaplata* tha dinffl if a 336k dfMalc Ha* board aad
taauftht that, aiaca thara tniM at*«y hardmrt ara^icta ta jraor
awbll±«il*e. It aay ba aottabl* tor aabl4<attaa. If yoa aa dtiln 1
oowla mrrmn%m ta aaad y«u a caaalatad aaa far avaluatiaa.
Patailai tha board it daaifaaa I* la on llfea ^*6«k. blacka .llathar
than a«ka tha l*|lc daalga difficult tt hii dacldail aat ta aaka tha
board loak Ilka 8a3?k blacka or 1b«l6k blacka . It can atari Q* aar
6%k baoadafr witbia tbi Ofbyta iddrvaaiag rang* of mmj bftO* aya|««
wltb at«pplKk4 rmm. Tha aol y watrd bit la t ba da lay lina vbtcK la part
■wbir With 75. avatlabl* fr«a» lft«taairad Caapaaaata Caap*ajr. »fl0
tacraaaata firm, P.O. Boa I, ban lata Obitpt, CA *>bo6. Tha phana
auabiri ara < 6©> ) ?kk-3«O0 ar <$0O) 259«4v4k. Tha prica «n iragad
tll-tll tha laat 1 baard. aaarda mr* laailibla fraai aa it tha aba*a
odaViaa far $6) U.I lacludia* ablpalat, J only a>ll baarOa.aat built
up aaltt •• »h»* pri^ict «pib daaa far tha lacll 6aO* caaaaoally aad 1
*aa« I arrard ta boll* tb«u> ap. Ummwvmr t»a baarda mrm aaatlabla ta
tbaaa »ha w«*t ta build ap fbalr aw».
Tha alrcall fa iiclaiid aad tha aat up datalla ara aa follaua,
1) %i-*k tit tba barriaa. all *p*a ban rooo.rrrr. Kb eland ban
goco»rrrr
I) »9.S& aat tba lab Marl ,4ap* a dt* B aa tba aattlag if th« l»k iton
tl*aly
r «4Jb
Xll apa». atari at 10OOO, «.O00O,9OOOJ, 0OOOO
alt claaad.atart at 10000,40000,40000,10000
g? «l*iid v *i*rt «t soooo.yoooo.goooo.roooo
3) Uaki a«fi ait tb* 336b atari OOOOO.lOOOO.gOOOO.COOOO raapac
Tba P**«r la arraagad by laviatlMil m«m. Aacb aaak
la »aa*r*4 by a 7*03 wltb daaavpllbg c*aa*lt*ri af tooap par M aar T
ablp aad lOuP bulk aacaapliaa, Tba laglc la aawarad by althar mm
LM >0t ir LN393 with plaaty ar lOOaP dicaapliag ciaacltan,
Paapla aalaa Ihlta ayatua* «aa aaa 14 aarlaa TTV far tba ligta.
Tbaaa with XJaHa afitaaM paat aaa altbar i aartaa *r P aarlaa TTV aa
|ba« tba ail ap tl«a n*alr«d by tba 640*. if f*lfUlad r
at tba nailt thara ara II af tbaaa baarda Im aaa la ba»
68' Micro Joomar
l«aland, ao J fe a l)#vr \h+ «••»!* la raltatlr. If inyen* 4oti *ant to
&*»• on* tha board* ar* «rd*r*d •« ord»r« ccmb» tn ao It nay t*h* *«■*
«••** to fulfil ©r<lar*. ?t)T"»nl autt t<« mith + r by cS»ih,t»ih or any
*h* circuit la «nclo**d for you to publlah If you *o Oaalra.
I cpitiidir your a*|t»ln« axcalla&t *«lu» for annty with aort
ajaaful irUclti than natty othar ■•|tilD*t. i-on*. *>*y you. k*ap 9 p thr
good vork. Coaotolt on 60ODO-- thla ceajputar 4eiin< I raally fit In
ho*' tOaputiri « at laaat in thia country, biciyif of coat and lock
or an iitto«l»t lortmri baa*. Ko»*»*r I o*tlclp*l* that thla will
Ch*nga aa aillcon a.nd hopafully. oofuori cool* fall. Until th*o 1
r*ol that th* lovol of *wppori you iiv* to th» 680OO la i4i<l»it».
viable* you luck in th* Nturt,
*#**r<S-
£*W tP*l*Sl Of VT
i Ha* vk*
M«*t ItJtO MOTotfll*,,
U (»ti <*
" IAkU)
tLOtJC)
[2£&K DYNAMIC RAM_
^T^
ft]
HI
HSJr
a At *jm ***i*» aioj#a*n >ntu .y _*um
74*1*1
■-ViiOL 1U%
V
_*L LI II
Irs rtri
f¥ff
^-a, Tfl KftTTi OF ffTHLI »MFFtS
HCI-HA (I H* **>* tux*)
2S&L DYNAMIC RAM
^^7
'68' Micro Journal
49
LLOYD I/O
I «»)9 NE QU*AN
fO«TL*NO, 0« 97230
eiot cohputiii lomvAiiii
<5031 6 66*1 D97
K01TOM4* AlltMBiMli COMPILIRS
Hoveober 2, 1904
'66* Micro Journal
Don wUUadb
5900 C**ean<Jr* Sojith ftoad
Htxon, TK 37343
D«»r 6609 Uatn
Tb» follow da nines are uaad «xcluBlv«ly by LLOYD 1/0 44
tradABarXA of LLOYD 1/0/ 4 computer software home and consulting
aatvlce bualaass.
CRASM6
CRASHB 16.32
K-BAStC
KB ASIC
to
ED/ ASM
ClUCKfA
tSM
05.H
LLOYD I/O
Tf»a p*§t u*«i of theae q<m«i wert understood to havs bten
tr«dtAArked by LLOYD I/O and were asauned to have bsaa
ttadaft*rKad all ths CI**-
Tba ut« of Chaaa runes hereafter will bt uaad by LLOYD I/O
referring to eoaputer eoftwsre developed by LLOYD I/O. Th« ru
LLOYD I/O will be uaad by this buetn«a Id referring to iteelf ,
In
Sincerely your a j
Frank L
President
LLOYD I/O
Soelooed La % eoop of • lim ii I t vnft* for «p 868 0CB*a.5l. 11 it
mi BltarAAtlv* to SK, I (Single 09 •* Cow) t* be *•*<* «1*on a mofeer of
ftloa ivd/or 1 Miote eoploe.
fb* STOftT^ ^elea tAvsca\s7> fcU rlU» and c pwnd« la the disk
41_^CU»7 a»4 Mil tho n»w if each I howl 4 bo copied. The p r <«rA reopOAOft
to T or V oaly; lev other r«fPOM« will reeult la the queitlao being Mhed
«walo* ir the file alre*4p «Ki«te 0» the t*r«*t dlM, Uvo *»#r i»
Hfii— 1 o*4 too prorate, eootisuoo. TMe pmeroo i v oy atyl* or praerioalnr
<BoVto Pare*) «e4 1* SOt on **»»pl« of «fftcl««*T. Hooverr, Lt toorfc*
OM adto. the eall l»Mt tot i«wv SQC.I beceuee 1> no flit t»eo*
U oocinao ep4 7) no BBQI7 limit ceo be entered. The o moujj Holt le
oeewed to bo lA (oWOOO) but cos be cAo;v£e* in Jin* 16* .
Slororolt _.
?*•*■.« WLlArood La.
Sreorrtoo Ve. 98310
Ii
1AM 8EPOU i
3:
• I •
3* • tsaablxst nimii to obttjdoblt oopt ox a
6l » STBTW WITS OSU OO USX OSJVT
7!
6i
10 1
•
i
i*
tlKO
Wit
tvAy
TUf
Hi
mrrcf nit
r ;■*•-
TTil
Ut
COOl
t«l
sn#»
13i
nfAna
i BXJ
•rrt*
TW
1*1
om
■QW
ITTW
15t
ca«T smu
ST7A6
SB
l6i
Mvro mu
tr?«
0100
18«
OPO
toioo
oioo a oaw
19»
ftTAirr
UB
raos
0103 BD 7246
oio6 tf oioi
20i
JSP
KOHBT
21i
a*
fOWJ
«r wit mm - o
H0| ik M
»i
UkA A #10
BRW DlKCmoT HAS
0101 IT 0)06
?3i
OTA A
n»
OiOI » Q1B
?*i
it*
fILOC
0111 TT 036D
«i
cur
COUNT
odist - f of raoR nusi xshialu
011« 66 OS
26i
tOOfi
LDA A #11
RtAC ra
0116 TC OMiO
27t
ISC
ODOST
0119 IT 0JO6
20)
STA 6
ra
one u oib
29i
/SO
nLoc
out ■ oni
30i
ua
f»01
FKJoT "HlSl"
::. m \*t
3ii
/»
carter
0123 SSOtlS
32i
•ss
rsTUn
tost mz »Atr
0126 CX 02T9
33 1
LOOPS LDZ
rwo2
ASS If IBfl wlSRES TO COT
0121 00 T2A6
J*i
JS1
lObTSt
0121 ID 7269
15i
#81
ZJBCB
AWES 7 OS fl
01)1 16
36t
P5X i
I
01)2 CM OZSA
37;
LIS
PCSLP
PIQB7 CAJMAGZ RETVBB / UBS FBETJ
013*> SO 72A6
Sfli
JEX
IfVTST
0130 37
39i
FUL 4
0139 81 *K
*0i
OS* t
1 #♦»
IF "IT. WAD BEST FCB
0130 2? 0T
lilt
am
IOOP1
01)0 01 79
62 1
Of A 9*X
013* 26 17
*J*
BSE
LDOP9
IF SOT ■**. ASS ACAIB
0i*J d 03AC
661
LDI
/#1LS
tF •**. roIBT TO SBJXSSTBG 02 STTJ
014* 06 0*
*5<
LDA 4 *6
(XTT RLE FOP WXAD
0146 IT 0306
661
8T4 A PCS
01*9 OO 01 ZE
*7»
J4h
nw
01*0 K OS
46i
IMS #9
S2AO TKM FTLE
01*» 17 0306
Wi
STA a r»
0*51 SO O2«0
50r
RTOAGB #0(1
PTLW
0156 TO 0261
51i
WT
ruo
a© cf n lit
0157 26 13
3*T
BS3
BXtrts
rss. ssascx
0159 SC 026F
53 1
<n
MDUZ
Amu uxrr iSAaxxrr
Ol$c 27 OJ
5*i
SBQ
MDOl
TBS, dKASTS
0150 A7 00
55 1
ST4 4 0. 1
OlOO 08
56t
ISX
0161 20 KE
57 1
SPA
RBH4JS
IF PXAX> flUCCSMFUL, MAP A0A11
0163 CX 02T9
S81
<4t>«As ua
#»«o8
PIC ST "*D»*T LIMIT* AID BBB7AST I
0166 BO 72A6
59t
JSR
XOIfWT
0169 TS 0207
6O1
#}•?
COT
016C 77 026s
62i
■OCLO as
ruo
016> 09
63 1
OBI
01TO WW 0*61
6%t
6TX
LAST
STCW 4SB0BB OP LAST DATA STTf
01 T3 86 06
65 1
tiu *
I #6
CLCSS Till
01T3 ST 0306
661
STA A ffl
0176 SO 01B
67i
§m
Fit/*
0171 cx oaflr
68t
Ltf
AVQ6
TELL USES TO OUKX OSSESTTV
0171 SO T2A6
69t
JSB
tOVHT
Olll BO T289
TOi
JB1
Z2BCBT
01A* CI 0216
Tli
UK
FOIL2
016T D 7246
T*i
JSf
ta/TBT
0104 66 01
T3i
LSA A fl
OPES Pill: FOB VIOTE
oiftc it 0306
T*i
it! A fn
oisr bo oin
T5i
J8B
FTLOC
0192 TO OZ6S
76 1
T8T
FL40
os sstvss, am fuo
0199 26 15
T7i
BO
/LOSBT
1F4SCS IF BIT
0197 66 02
76i
LDA A
#2
IF BOT. HSTiS 1 TO WQTE HIS
0199 17 0306
79«
sta a ro
019C CX 03AC
0Oi
LDI
#nis
0l9f 46 00
611
VB7A01 IDA A
o,x
(Z7 orrt
0141 D 09i8
621
#B1
RUM
0146 IC O26S
8)1
CTI
LABT
EIP OP DATA1
OUT 71 02
6*<
SJQ
VSTOB
0L4ft OS
85i
1ST
bo* costibis:
01AA 20 n
86i
MA
wfffAOS
014C TT 026S
6T
PliBBT cut
FL60
FJSTT riAO
oiAscsan
6A1
LBS
MI07
TXLL IBEX FT LI AUG" AT* IJJS1B
CIS? SV 7246
89.
JEB
WSiTST
0115 Tl 0106
90i
Jpf
BBXTST
DIM OX 02A0
91*
VSTOA LIZ
«M05
PS3BT •Til* O0P2KJ*
OlH 10 7246
92i
#ss
SOWTST
OUT 86 03
93 1
UkA A f 3
CLOSE Fill
0100 17 0306
9*i
STA A
FCS
oin c c is*
99i
Ml
FT tOC
0106 CI 02BS
96*
BBSTST IDS
FIC06
tell om to psptsrr sapa nss
019 BO 7246
9T«
#BB
SLVBl
01CC SO T26t
98i
JBN
tlSOB
OUT CX OZSA
99i
Li J
reus
OUt SO TZ46
100 1
m
XOVJST
0113 16 O26I
101 1
LM S
•i inr
OZT tf OP PCM ALATAD BXAD
0118 86 04
10ft
LOA A fie
SSTtF SmCfXP) FSAl
0114 17 0306
1031
BT4 4
FCS
OIJB BO CUB
IDkt
#ss
FILOC
01SO 66 OB
1051
LDA A #11
RAO RBBT PCI
01B7 BT 0306
IO61
STA A
FCB
0115 B 01XX
1OT1
LOOn JBN
FILOC
01BS V
106 1
SCI
01» 26 #4
109*
BBS
10013
LOOS TBPOUOX FOB ALflPAUT' BIAS
01SS 71 Oil*
UOi
112i
113i
#}•?
lOOPl
• BOolOVTlBl 90 ORB ASO CLOfl PTUV •
U61
l««X4M»l,
•VMIMII
FF 0269 I61 PILDC
01P1 36 117 j
AlPl CX 0306 U6l
01P5 10 7T66
01F6 27 16
OLFA A6 01
01FC 81 06
01PI 2T 15
0200 81 02
02O2 27 09
0204 BO T2A9
02O7 BO HIS
09Q1 71 7263
0200 TC 0261
0*10 PI 0769
021) 32
021* 39
0915 CX 0281
0218 SO 7246
9?1B 20 SA
U9l
120 1
121t
1221
l?3i
126 1
125i
J26i
127i our
126
129!
IJOl «K
lUi
I32t
I33t «
13*1
135i
LfiX #TCS
#8R DPM
MQ OK
LDA A 1,1
CMP A AS
FJR EST)
CMP A #7
JS«
savc rim no
OT 1
rnrros
CbFK
tsc
lox
FLWJ
SATI
PM5 03
20VT8T
OUT
DTK 1/0 BMUD7
rrrnm it bo ebbob
OST O6V0 BTATW OO t*
(XEOt FOB ESP OP DTMLlVPf
CXXDt POP "ntl ALFXASI STJSTS' fPJBS
PB1IT ESTOP 00tr ( CL0Sr PILES, WSTAPT 90S
SPT PL40 IF FIL8 ALPXAB XEXSlS
PPJFT *ES0 StPSCrOST* AST) EXIT
137i
Z3Si
I39i
• -.-* *- ; ^ T •
I P*'BT FTtS BAMI
0711 FT 0269
0220 06 06
0222 a 0309
0225 A6 00
022? 10 7266
0224 08
221 5A
029C 26 FT
022X86 2X
0230 IS 7266
1*1 1 FXFB46I STX SA rt
1*21 LDA 8 «6
l63t LOX ^F<Se3
1661 PBLOPl LSA 4 0»X
l»5l •'S* ZOVIIK
l46t 1ST
l*7t ISC 1
1661 biz rnopi
l*9l LDA A 9 * .
150( JSP ZA7TB
SAVE ISDXT BJtO
FSJBT FTS37 6 e*AX6CT*JV
FBJST TEriHAL FT
50
68' Micro Journal
0231 at 03
151:
LDA » /}
PttPT fTTUBKJl
0233 CS 030P
l»x
L2»
pro**
00)6 Aft 00
1*3 x
nun
LDA
I o.x
023A90 7266
15Ai
J8H
ZOVRX
OSJD 06
I»i
tn
0931 >A
156*
«CI
on/ 2ft r?
137 x
ntt
PWUT7
0241 a MIA
1)4:
unt
PCJQJ»
0?U 10 72A6
139 x
JU
100T6T
»*? 39
lftOt
lft2i
IftjT
PTO
■ IIUMCiUTin TO IHA& Am* WHIT* PI Ut •
1«^»
0246 rr 0269
166 x
fllMt
8T9
6AVX
8AVT rPttl MO
aa» a 0306
167:
IAI
ffpa
1LU) AttBBBB PT PO
aevc is rroft
166)
JOB
0PM
0PM J/0 BB*9»T
02)1 27 12
lftOx
APfl
wot
RITUB IP 80 DMff
0233 A* 01
170 1
LDA
* 1,1
1 #6
OKX POP IPS OP PIU
02)} 01 Oft
171 *
av
0257 27 09
172 x
BOH
DDR)
02W IP 12*9
i?3t
J6R
mm
023c id 7763
17V t
JON
CbfH
02*9 71 7563
ITS:
J*
nruoe
02ft2 TC 02ftl
176 1
SHAD
IPC
PUG
OJftj IX 0?ft9
itt>
HHV
LCI
SATZ
024ft 39
176 x
BT8
02*9 00 00
160*
BATX
POP
0000
0261 00 00
I8li
LA0T
rn
0000
02ftO 00
1621
cowr
ra
0269 00
1831
PtAO
pa
026P kO 00
164 x
HBOC*
no
AtOM
16E nbjutt atouki
0271 20
lftjx
moi
PCC
/ nizt /
0276 00
I66x
pa
a
0279 2©
I07i
IBJQ2
PCC
/ COJTT /
0000 00
I66i
pa
02fll t>
169 x
MCI
PCC
02ftl 00
190i
pa
0269 kj
l9lx
WCA
JTC
/(Hf2 BQ7JB ABO HIT APT DO
owe 00
19 21
pa
02X0 »
I93i «0>
POC
/ piu corns /
029A OA
19J»i
OU
pa
•OA. 200,0
O2B0 3?
19 Si
XlOft
PCC
/Msourr 6oiftci bisx apo hit apt xrt t
00 M
I9«i
ra
0292 kft
197 x
wo7
PCC
/niX AUKAOr COSTS /
02T6 OA
190i
pa
AOA.IOD.O
OZT5 Ml
199 1
wee
PCC
/■NKT uxrt/
0)05 00
SOOl
pa
090ft
20H
pa
to*
166
03AC
2©2i
piu
us
1
0200
201:
DD
STAPT
90 DQt>P(0) DXRCID
OftfeOl. TA81Zi
com
7763 WSm 02ftO
CXL9
02BA
cm
776ft
two
0215 OMO 026?
COB TO
0200
ra
0306
PI LI
03ac nice cm
nw
02U
n-Ao
0269
PLAIT
01AC LAST D26S
UXT3
DiH
LOOP?
0126
A00P3
01Z3 MMAX 026P
*****
0163
•01
0271
Ml
0279 tCOl 0261
N6CA
0?OP
wv
02 AD
MBC6
02SO M507 02B2
»coa
02P9
a
0210
our
0207 ftlftAM 0910
PPLOP1
0225
PXL099
0230
RJOA0J
0131 snap oiftc
WI>IPI
01C6
ppa
02ft?
8AVX
0269 START 0100
MJfTAta
019P
vwras
0116
una
7209 ZOVTO 726ft
Z0USST
72Aft
ZTT7TE
72A9
2VAAC
7563
Rll!
QP»*60.352
OOPTT
1
PlUx
OPV«AO,333
0WT7
B
PlUt
LZST.I
03971
T
OMPQ
DltlS AK) HIT APT KD
PIU ALPEAflT DOST9
mmpptt HXfro ceL&jr abo bit aw
no
PILXi
80CCJ.BAC
eofii
T
CHAX7QT 018O A9D HIT APT KB
nut AUBAirr septs
anm BOMS max abo pit ait m
PIUi
OBra.i
CO PI 7
p
RUM
BOCC3.81B
awn
B
rttit
XCAAX.3
COPY!
T
OtABQI
DI8XS ABD MIT APT Oft
nix oo?ii»
PDOtvr soiipxa mar apc hit apt
KIT
ntxi
90CC.TTT
0D9TT
r
nuti
tmz.t
oorvY
p
nttt
Asm.l
OSP77
I
aula
VSJS APP KIT APT PXT
PIU OOPISD
«KKflT7 k>0VT«CV DI9P APO HIT APT
PJO
nui
90CC.SAA
1 IT'
ODPTt
B
n»i
BOOT.!
OOPTt I
PI1*I
fiAVE.t
OOPTt f
nil i
BDSC.t
OSPYT 9
HO DIRTRK7
MICROKE Y 4500 A PROFESSIONAL 6809/
FLEX COMPUTER SYSTEM
■IllfttUIill
II
TECHNICAL EXCELLENCE IN A SINGLE-BOARD
COMPUTER FOR SYSTEMS DEVELOPMENT. O.E.M., OR
APPLICATIONS.
BY USING THE SAME BOARD IN YOUR TARGET SYSTEM
AS YOUR DEVELOPMENT SYSTEM, YOU CAN SA VE TIME
AND MONEY!
MKEY Features
• 6809/2MHz PROCESSOR WITH 128K RAM AS STANDARD
• FLEX OPERATING SYSTEM OR polyFORTH AVAILABLE
• ,Mand Stt in, DISK DRIVES CAN BE MIXED
• 16 COLOR HIGH RESOLUTION GRAPHICS
• NORMAL, ULTRA HIGH RES AND PAGE FORMAT MONOCHROME MODES
• TWO INDEPENDENT VIDEO OUTPUTS
• MULTI-TASKING • INTERLACE MODE
SPECIAL OFFER FOR LI MITED PERIOD
DEV SYSTEM
TRIPLE DRIVE
TARGET BOARD
128KRAM
$1,899
$450
SHIPPING AND TAX EXTRA
IMXXSAND ENQUIititS TO
MK3R#KEYLTD.96aSi Jama's Street
BiKJtaoa Sussex. England Tfci 077^72911
HO is a trademark
of TecK Sys
K \S Coi\suiJanis
polyFORTH is a
Irademaikof
FORTH INC
W WCfO Journal
51
Classified
Advertising
TELETYPE Hod«l 45 PKINTER - with serial (RS252)
Interface, and full ASCII Keyboard. LIKE NEW - New cost
SI 295.00 - ONLY S799.00 ready to run - Call Tow - Larry
- Bob, CPI 615 842-4600
For Sale: Motorola 1 28K Memory Boards, removed from
SWPTC S/09 S 795.00, SWPTC 8212 Terminals Oenistrators
S 795. 00, Hazel wood Dynamic 6 K Memory Boards S 395. 00
Call ask for Tom 615/ 842-4600
SWTPC 6909 S-09 COMPUTER SYSTEM with 20 meg hard disk,
dual 8" drives, 2 serial cards, and 128k SWT memory. This
computer Is set up to run UnlFlEX and has been used as
backup system. Memory needs updating. As removed from
service. A great buy for those wanting the power of a
UNIX-like system. 14,950.00
Call T- BOO- 255-1 582 Ext. 47^
FOR SALE: PR-40 printer 560, APTEK 4K 1702 SS50 EPR0W
board, F&D 1702 proqremmer <uses MPLA) both $100.
Universal Data 217/1Q3 modem $300, DS68 103 modem card
populated, never used, with EOC coupler $50.
Gordon (504)889-1224
GIMIX 0S9 Lll 6809 System, GIM1X 6809 -*>LUS" CPU, GIMIX
DMAF2 8/5" DMA disk controller, 192K dynamic RAM. two 8"
DSDD OUME drives, FAD video, cherry keyboard, 4 1/0
Ports, Motorola monitor. Very Reliable. Complete
documentation. Also Base 2 Printer $175.
Call (312) 382-5478 after 7 PM.
C0WIUER EVALUATION SERVICES
Byi Ron <
Ihm S.E* ICDIA DM slow of i
PubJIsfclng Inc..
Ii offering -Hie tottovlng 4U0»tfBER
SERVICE :
COPIUH CCUVtfUSlON AMD EVALUATION REHKT
Due to the constant and rapid updating and
enbanchment of numerous compilers, and the
different utility, appeal, speed, level of
communication, memory usage, etc., of
different compilers, the following services are
now being offered with periodic updates.
This service, with updates, will allow you wh<
are wary or confuseo by the verlous claims of
compiler vendors, en opportunity to review
comparisons, comments, benchmarks, etc.,
concerning the many different compilers on
the market, for the 6809 microcomputer.
Thus the savings could far offset the small
cost of this Service.
Many h ave cure hased compilers and then
discovered that the particular compiler
purchased either Is not the most efficient
for their purposes or does not contain
features necessary for their application.
Thus the -added expense of purchasing
additional compiler (s) or not being able to
fully utilize +He advantages of high level
language compilers becomes too expensive.
The folk»lne COFJLERS are reviewed Initially,
more will be reviewed, compared and
benchmarked as they become available to the
author:
PASCAL T" GSPL WH1MISCAL PL/9
Initial Subs rlptlon - $39.95
(Includes 1 year updates)
Updates for f year - $14,50
S.E* 1CDIA - CPI
5900 Cassandra Smith, P0B 794
Hlxson. TN 37343
615 842-4601
NEW
3T
OS-9 SUPPORT FOR FD-2
NEW!
NEW!
Run double density on any S-50 6800 o* 6809 computer Who else can
offer this capability at Ihese tow prices? Tl* FD-2 features
' Control ol up to four 5'V DS OO Drives
* SS-30 or SS-30C compatible
* Use Flex. OS-9, or Star Dos operating systems
* 2 MHZ operation with no 'slow I/O" required
* Compatible wtth SWTPC OCl. DC*. DCS. or OGa controllers
FD-2
DRV 68
DRV-69
DRV-09
STAR-DOS
Assembled Tested Controller Card $14995
6600 doable density drivers ♦ format program $ >9 95
6809 double density drivers • formal program $ 29 95
FD-2 Disk Drivers for OS-9 {Source) $10000
For SWTPC ft FD-2 $ 7500
PERIPHERAL TECHNOLOGY
Supplying Floppy Disk Controllers Since 1978"
3760 Lower Rosweii Road
Marietta, Georgia 30067
VISA/MAST ERCARD/CH ECK/CO D
aoa/973-0042
*Q%9 is a %t*d*r** s ot Mci owtft and Moicwod*
K-BASIC
tor OS 9 * FLEX
$199
K- SIC Is o con^tore BAS*C oujT^lei poefcage Including fne com
pilerrtseW. 1f^a^»rti».dco#nenroltaaondsarrc^P'cOK>T» nfeo
fures six atomic doto types including root rurbm, stnngs. 8 bit. 16 bil,
32 brJ. and 64 bit signed integers All types may be dimensioned witn
one or rwo subscripts K-8A5JC converts programs to MACHINE lan-
guage code u/hicn may be put Into EPftOMS or POMS
K- S»C syntax is very ctase to ISC s SJCondXB S»C inte-preler*. Line
»\jtC^s ore not required (may be up lo 16 characters) Variable
names may be up 10 12 characters tang The AT statement dimensions
varieties to absolute memory a flo Hj g ^ L
The future ot K-8ASIC will see u OJhli O versions for fne ossorfed inter-
peelers ourentiy available This means you can compile your BASiC pro-
grams you now have
Coll (503) 666- W1 tot our CATALOG, we tave mony OfiM
p<ogroTO[ocKx3*ng:[)0...$69 OSM.. $99 S0fASM...$69
CRASMB
for 0$9 * FUX
$399
CRASrvtfl ks the highly aoc*oVrved cross aaserrtrtei package lor OSOond
FLEX sytf ems. and *s Ifie only one of its type ovollable It rums your com
pufer into o devetoprnenl station tor these CRJs
6800 68Dt 6804 680$ 6809 6811 6502
7000 1802 6048 8051 8060 8085 Z80
(68000 16/32 bit aoss assembler S?49)
CPASMfi features include Macros. C u t*i k*%J a»<*rt»y. library file
cats (12 deep). Symbol length to 30 cni*<xierv Symbol cjojj reference
tobies, Object code in 4 formats (09v\ FLEX, S1-S9. iNrtL HEX), plus
mony ot^er ectended directives and opttons nor lound on other
assemblers
UOYD VO 19535 NE GUSAN. PORTVANO. OR 97230 USA
Phone: (503) 666-1097 (Software CorouftoHon Available)
VISA. MQ COO. CHECK. APPROVtD P.O.* ACCiPTtD
Cnglond: Vlvawoy (0542 4234251 Wlndntfh {0672 405189)
Germany Zocher Computer (65 25 299]
Australia Pails Radto Electronics (61 2 344 9111]
099 b a » « Mtn»w^ RB( i o » or fSC
^1
52
68 Micro JoumaJ
GOOD NEWS!
VSr
M
T
feasor
CORPORATION
6/7 IV. Virginia Si.
Milwaukee. H7 5320 /
M J /> 276-29:47
C
for the
6809
MAS NEVER
BETTER!
INTR0L-C/6809,Version1.5
Introl's highly acclaimed 6809 C
compilers and cross-compilers are now
more powerful than ever!
We've incorporated a totally new 6809
Relocating Assembler, Linker and Loader.
Initializer support has been added, leaving
only bitfield-type structure members and
doubles lacking from a 100% full K&R
implementation. The Runtime Library has
been expanded and the Library Manager is
even more versatile and convenient to use.
Best of all, compiled code is just as
compact and fast-executing as ever - and
even a bit more so! A compatible macro
assembler, as well as source for the full
Runtime Library, are available as extra-cost
options.
Resident compilers are available under
Uniflex, Flex and OSS.
Cross-compilers are available for PDP-
11/UNIX and IBM PC/PC DOS hosts
Trademarks:
Introl-C, Introl Corporation
Flex and Uniflex* Technical Systems Consultants
OS9. Microware Systems
PDP-11, Digital Equipment Corp.
UNIX, Bell Laboratories
IBM PC, International Business Machines
For further information, please call or write.
W Micro Journal
53
fm MKim mm in*y$s$ w*c*4Si
3> TOLL FftH
1-800-338H
Pi 0*0* *f
3-6800 M
^%% § Oil?
W $§§§i
5900 Cassandra Smith Rd.
Hixson, TN 37343
for information
call (615) 642-4601
COCO OS-9 " FLIX*
SQFTUJflRE
!!! SPECIALS !!!
'Ttir CM CtCAUKE'
—
tfM1e tiiey Last
FLEX Software
T5C "FLEX Utilities"
W4S
$75.00,
MM only
$60.00
T5C "Sort Merge"
was
$75.00,
MM only
S .00
TSC "680? BASIC"
was
$75-00,
MM only
160.00
T5C 'Extended BASIC"
was
sioo.oo.
MM only
185.00
TSC -OeBug p
was
575,00.
MM only
$60.00
TSC "FLEX Diagnostics"
was
$75,00,
MM only
$60.00
TSC "Text Processing System"
was
$75.00,
MM only
$60.00
TSC "68000 Cross Assembler*
WdS
$?so.oo.
MM only
S22O.O0
LUCI0A7A "TEXPAx" (FLEX9. 5 I/O — A Pascal Implementation
of the Tektronix 40xx Terminal Control System, with
Pascal SOtKlCC. The Manual Includes a discussion of how
to utilise this package In the graphical library in
Implementing Vector Drawing. Point Plotting, etc.. up
through Windowing and Clipping concepts.
Normal Price. $100.00; MM only $65.00
OS-9 Software
MTCRGwARE "OS-9 File Handler Toolbox'; MM only $70.00
MtCROuAPE "Relocating Kacro Assembler"; MM only $170.00
Iff
» • •
NEW NEW NEW !!!
Computer Systems Consul tan is, lac.
CMJOCM TUECHftrtlCATlOtS P40CJU*
Menu-Driven: supports Oumb-Termlnal Node. Upload and
Oownload In non-protocol mode, and the CP/M "M00EM7"
Christen sen protocol mode to enable communication
capabilities for almost any requirement. Written In V\
Fill, CCF. 0S*9, IMiFLEX; with complete Source - $100.00
without Source - $$0.00
t-C-i — TO* (not Nacres) CROSS ASSOBLFJRS
Use your 6809-Based Computer System for developing Software
for 1802/5, 6800/01/03/11, 6804, 680S, 6809, 6502/3, 8060/5,
8048. 8051, 2-80, and 68000 Systems. Provides the
Assembler Language and Listings normally used on the target
Systems. Written In "C"; produces Motorola S-Teat for
machine Independence.
flit. CCf. OS-9, UnlFLtX
the complete set ( Including the C
each - $60.00
any 3 - $100.00
■ $200.00
aia » u.s.a.
(■la. It.M)
101 All r*»lfB
"FLEX * a irmdawnmr* Oi TeOme* SV*ew» QsmimUre*
'OSfl <» a umttemmm of Moowave
LLOTO l/o
R -BASIC — A "Native Code" BASIC Compile
Level I K-6AS1C supports sequential files, floating point, 3
sizes of integers, string variables, and arrays. The
Single-pass compiler compiles to Assembly Language Source
Code (which may be assembled by the Included OSM Atsembler,
or by the CftASMB Cross Assemblers), Conditional assembly
Is used to reduce the size of the run tine package. (See
Review m Oct. *64 Issue of '66 1 Micro Jowmol.)
FLEX. CCF, 05-9
Compiler wit* OSM Assembler ~ $199.00
OSM -- Extended 6809 Macro Assembler
Provides local labels. Motorola 5-records, and Intel Hex
records. Also generates 05-9 Memory modules under FLEX,
allowing the maintenance of source code programs for both
OOS's on one System.
FLEX, CCF, OS-9
$99.00
CRASMB — 8-81 1 Macro Cross Assembler
Same features as OSM. cross-assembles to 6800/2/8, 6801/3,
6804, 6805. 6809. 6811, 6502, 1802, 8048. 8060/5. 2-8, 2-80.
Fully supports the target chip's standard mnemonics and
addressing modes.
FLEX, CCF, OS-9
full package -- $999.00
CRASM0 16.32 — Cross Assembler for the $6000
Same features as B-BIt Cross Assemblers above
$249.00
Compusente Ltd.
CR1IMC6 COBOL — COBOL Compiler
This COBOL Compiler supports a large subset of ANSI! level 1
COBOL with many of the useful Level 2 features. Full
support of the FLEX File Structures Is implemented
Including Random Files and the ability to process Keyed
Files. Large programs can be segmented and linked at
runtime, or Imolenented as a set of overlays. The System
requires S6X and CAN be run with a single Disk System.
FLEX. CCF normally $199.00
Special Introductory trie* (whtle they last) — $99. H
ASSEMBLERS
Southeast Madia
— ' ASTRWC09
A "Structured Assembler for the 6909" which requires the TSC
Macro Assembler. Allows direct use of structured statements
such as ]f, USE. 00, REPEAT, etc.. and provides Indented level
formatting of the listing so that the structure Is apparent.
Re. '68' Micro Journal, Sept. '83 (program was called "STASM09 P ;
has been renamed due to conflicts}.
A User reports
"... I'm very pleased and am no* writing almost exclusively In
<ASTRU*09). I've selected It over --- for all future systems
development... As {one) of my early evaluations. I rewrote a
rather elaborate routine originally done In assembly. Out of
the 1000 bytes of code generated, the (ASTRU«09) version used
only 20 more bytes than the original. — could not handle
thfs program since It uses triple-precision fixed point
arithmetic... ( have a large body of code already written that
fs Incompatible with constructs. No oroblem with
(ASTRUX09) and the structure sure helps In understanding the
logic!"
F. CCf - $99.95
TSC
Macro Assembler
The FLEX STAJDAtfl Assembler. Special — F.CCF $35.00
Relocating Assembler «/L1nfclnn Loader
Use with Bany of the C and Pascal Compilers. F.CCF $150.00
Creat Hal hi Camp. Co.
Relocating, Recursi ve Macro Assembler and L luting Loader.
F.CCF 1J2O.00; w/ Source 1240.00
Omega Soft
HALU
Melocatlnf Assembler and Linking Loader
F.CCF $12S,00; for One Year Haint., add $50.00
Windrush Micro Systems
by Graham Trott.
F.CCF - $96.00
S *CKl 'Mi
I-IUI) UN Mtini
ft**? Altaii
' oC«»3andf* Smith Rd
* MusOfl. TN 373*3
CoCo €»*.♦ *
SOFTWARE
AwmLLatoLUty
P ■ FLEXj OCT • Color Compter FLCX
■ 06-9* CCO ■ Color Computer 06-9
g - UhlFUX
CCD - Color computer Wsk
OCT « Color Computer Tape
lit f!
If* Toir •pMJravHivf Syttti 1 Bit* Sl*» III
'68' Micro Journal
DISASSEMBLERS
Computer frit— I CWUltllttl
»tt SLEUTH
Computer Systems Consultants Smper ST-entli Is a "M«e Tested',
reliable, PROVEN Disassembler that has gained acceptance
through out the SS-SO Bus Communl ty as an extremely POMERfUt.
INTERACTIVE. Software Tool. The Smpor SWmtft Software Package
consists of 3 Program; $UOTM I the Disassembler). OIGmA* (used
to globally Change Labels to a meaningful Name), and XKEF (a
Cross Reference Generator for Sovrce Code Files). SLEUTH will
Disassemble Memory Resident 6B09 Code and 6 BOO. 6801. 6602.
6803 (the "Baby CoCo"). 6805. 6B08. 6609. and 6502 (Apple.
Atari. Commodore, etc J Binary Disk Files. fSee Aug, '63 *«T
JHcro Javmil 'Color Users Motes" Column for a full Review.)
Color Cempufctr SS-SO ftus (all «/ Source)
CC0 (32* Req'd)
ObJ. Only 149.00 F, 199.00
CCF. ObJ. Only ISO. 00 U, 1100.00
CCF, w/Source 199.00 0» 1101.00
CCO r ObJ. Only $50.00
All Computer Systems Consultants Software
runs on the Color FLEX Systems
ALL In stock
call foo-m-taoo
for DVEDIATE DELIVER?
Comyutr Syit
Cen ler
OTiAHITI ♦
An 'easy to use*, powerful Disassembler for Disk Resident 6609
and 6600 Binary Files. Allows the development of a "Control
File* of various Program 'Boundaries' during successive
disassemblies; can use a Label File which automatically replaces
a Hex Location with a Label Name; Includes an IP£f Utility; etc.
Label files provided for MlnJ-FLEX, FLEX2. FLEW. Color Computer
(for use with Color FLEX Systems), etc. OS-9. Version Includes
special OS-9 options.
CCF. ObJ. Only $100.00 CCO r " " S1S0.00
f. ' * 1100.00 o. ■ * $ ISO. 00
U. " " 1300.00
COMPILERS and DECOMPILERS
6809 "Structured* Assembly Lan$. Compilers
Wimmmtm Mere Sjritmmi
PL/9
By Graham Irott. A conrtlnation Editor/Compiler/Debugger, all In
OUt PACKAGE; provides a totally INTERACTIVE Program Development
Cycle. The Single-Pass Compiler supports large Symbol Names;
Variable Types; Pointers; Control Structures (simitar to *c* or
'Pascal'); Stack. A- .6-. and O-Reglster manipulation; etc. The
Source-Oriented Trace/[)ebugger provides Single Stepping. Break-
pointing, etc. An excellent Software Development Tool which
provides for the minimum utilisation of the power of tfte 6B09.
F, CCF - 1198.00
irMmiltal Perelnpminti
mDttlCAL
Need the Ease of Design and Maintainability of 'Structured
Programming' AND the Speed and Control of Assembly Language!
Then VN1NSICAL was designed for youl This Single Pass.
Recursive Oescent Compiler provides the tool for developing
simple Utilities to MAJOR Systems In Assembly Language.
Supports 3 "In" Levels which allow one level of Procedure
nesting, or more within 'Nodules', ft Is easy to develop
programs written for other machines since you 4rt working at
the Assembly Language level. Features unified, user-defined
t/0; produces ROKeble. relocatable, recursive, re-entrant Code;
Structured style and statements with Procedures and Modules;
supports Byte an* Double-Byte primitives with 3 types of
Integers (up to 32 bit). Char and Boolean, and unlimited sized
Arrays (vectors only); interrupt handling; unlimited length
variable Names; Variable Initialization (defaults to 100);
Include 'Source File' directive; Conditional compiling; direct
Code Insertion; control of the Stack Pointer; etc. To quote
Son Anderson In his comments about MWBICAt fn the Sept. '63
Issue of 'to* micro Jomrmal that* except for thje lack of Floats.
*.... 1 have to fie* tils umm VEIV high retime, ...\ tt is a
FAST Compiler which produces FAST Code (Ms "Primes' Benchmark
rin at 9 sacs, on a 2 MMi System),
^ ^ —*s J * n <J CCF - 1194,00
WEI-ZM
wu usKtm wr#£¥£*ysst_&*CM*si
*& TOLL FMI TELEX 991 414 f VT ITH
1-800-338 6800 M
% % $ft0l§
5900 Cassandra Smith Rd.
HUson. TN 37343
for Information
Calf (615) 842-4601
CoCo OS-9*" FLIX"
SflFTUIARE
'C' COMPILERS
Wmdrush micro Systems
C Compiler
By James NcCosh. Full featured C Compiler for the FLEX
Operating System (lacking ONLY "bit-fields"). Including an
Assembler. Requires the TSC Relocating Assembler IF the user
wishes to implement his own Libraries.
F and CCF - 1295.00
Utrml
C Compiler
A full-lea tured C. streamlined for the 6609. Generates very
efficient object code. Output "benchmarks' close to lOPWi
66000 in 6 Sit Operations; l.S times Faster than a 4 MHz 780
when using a 2fcw* 6609 System (Re. p 43. °66° Hlcro Journal, nay
'63), Floats, etc.
r, CCF, and - 1)75.00
If - 1425.00
One Year Heii»t. - 1100.00
PASCAL COMPILERS
PASCAL Compiler
Native Code Compiler (VCSO Oriented).
F and CCF - 1200.00
LwcUeta
PASCAL Compiler
P-Code Compiler (ISO Standard). Designed especially for
Microcomputer Systems; Run-time System cheeks available
resources for each task, allowing operation on even minimal
computer systems. Allows linkage to Assembler Code for maximum
flexibility.
F and CCF 5* - 1190.00
F r - $205.00
O—eSoft
PASCAL Compiler
For the PROFESSIONAL: (SO B«sed, Native Code Compiler.
Primarily for Rea1~T1m* and Process Control applications. Use
custom t/0 devices in place of the Pascal IhPUT and OUTPUT;
Long [nt. f32 61t); Oynamfc length strings; Interrupt
processing. ROH-able. PK. Re-Entrant Code. etc. POmTtFWLI
Includes Source for the Symbol fc Debugger. Runtime, and several
Utilities. Requires a 'Motorola Compatible* Relocating
Assembler and Linking Loader.
F and CC? - 1425.00
One Year Malnt. - 1100.00
DECOMPILERS
SmmtmHit Hernia
Hi (A UMFLEX "basic" De-Compiler)
Re-Create a Source Listing from UnlFLfX Compiled basic
Programs. Easy to Use; works w/ All Versions of UMFLEX basic;
Output to 01 1k or Terminal. T1«e TESTED and PROVEN; SOUOf
U - 1219.95
144 21 0.4. A.
(al». H.H»
10« Hi MnLtm
V.
"Fl€X is a irpdvmmft d Tmcrncal Sr**4WT* Consultant*
"OS9 «» m icmdemavh ol M* f omv
PaajUatklilty
F - FLEX. OCT
O - 06-9. ODD
- Uh.lPlF.Jt
CCS - Color Computet W*k
OCT • Color Computet Tope
Cnttr Computer PLCx
Color Computer Ofv-9
'68' MtCfO Joumat
III
*M***T
4 Ml
aVIl
lit
55
tin msxiTTi mr* trans $ wtetssi
3 1 TOLL PRI« TItBI SSI 414 rVT »TH
1-80O-3 38-6800 0k
Tijllfl mTlif
5900 Cassandra Smith Rd.
Hixson, TN 37343
for information
CAM (615) 642-4601
COCO OS-9" FL*X*
SOFTWARE
UTILITIES
lesicot **r
This BasIcO* Cross metercmce Utility Is a Bas1c09 Program which
•111 produce a "pretty printed* listing with each line numbered,
followed by a complete cross referenced listing of ell variables,
external procedures, and line numbers called. Also Included fs
a Program List Utility which outputs the listing without the
overhead of building the cross reference table, which allows It
to run considerably faster when only a "pretty printed" listing
with line numbers Is desired. ReQulres BasIcO? or RunB for
operation.
OKI • !•*+,..«» i* v QCf H^.t^^.
C***« • t** >•-*■•*» '
S l«*W.II1
l* •» M «J u »4 *•
and CCO - 00 J. OnTy - S39.9S
and CCO - vf Source - m. 9S
• t Hr.: ■■*
OS-9 TOUi
Give your 0S~9 Levml ! System the apoed of a mi i a access that
can be several orders of magnltiida over your present floppy disk
drive. Use that Ei leaded Memory capability of your SHTPC or
Glmlx CPU card (or any other that has the save forpat OAT).
The slie of the Virtual Disk Is completely variable In whole
Increments of 4K up to 9S0K. which Is all that these systems
can address beyond the base page that OS-t Lmvml I uses. By
putting all of your CMOS Directory on your Virtual 01 sk, you can
have the fastest execution speed possible (next to eating up
System Memory with all of them). You can also set up high
speed Inter-process communications via random virtual disk files
and not tat up valuable system memory with pipe buffers* Some
Assembly Reoulred - Level ! OM.T.
0. ooj> Only - tr*.»S
*t Source - H49.9*
Southeast Media
0-F
OS/9 to FID - REX to 0579
finally; the barrier has been removed between OS/9 and FLCX
formatted disk si Now you can RUO from, and MfttTE to* a Single
Sided S" or 8" FLU diskette from OS-9 with fr-f . 0-F is a new
and unique program, written In IASIC09 <w1ta Source), that
performs the following functions;
REFORMAT: A 6ASIC09 Program that reformats a chosen amount of
an OS-9 disk to FLEX Format so It can be used normally by
FL£X.
FLCX? A IASIC09 Program that does the actual read or write
function to the special 0-f Transfer Disk, all selected from a
user-friendly menu. Functions provided Include reading the
FLEX Directory, Deleting FLEX Files, Copying both directions,
etc. AH selections are Interactive and complete, Including
all necessary prompts to the operator.
FLO users can read, write and use the special disk as any
other FLEX disk, provided the FLEX directory Is not allowed to
continue beyond track zero (too «any files).
- *79.9$
Southeast Media
" COPfMULT
— Copy LARGE Disks to several smaller disks —
The following FLEX utilities allow the backup of AIT size disk
to any SMALLER size diskettes (Winchester to 8*s or S's. 8* to
5*s. etc.). By simply Inserting diskettes as requested by
COPIUJLT. a large disk system may be downloaded to your present
floppy disk system, any size. Mo need to fiddle with directory
deletions or any of the other tedious operations that must be
done using the norma) copy routines.
COPTMULT.CMO understands normal "copy" syntax and always keeps
up with files already copied by maintaining directories for
both host and receiving disk system, eliminating hours of
tedious keyboard entries and other time consuming cleanup
chores.
BACKUP. CMO Is a special program that downloads "random" type
files, any size.
RESTORE. CMO a special program to restructure copied "random"
files for copying, or recopylng back to the host system.
FREELIXK.CMO a "bonus" utility that "relinks" the free chain of
floppy or hard disk thereby eliminating fragmentation.
Completely documented tourme files Included.
ALL 4 Programs <FLEX. 8" or D S94.S0
Southeast Media
XOATA
A tOMHuiUCATIOi Package
for the UmlFLCX Operating System
Allows UnlFLEX Based Systems to Transmit and Receive files to
and from other Computer Systems via Modem. Use with CP/"., Main
Frames, other UnlFLEX Systems, etc.
-- Verifies Transmission Integrity using
checksum or CRC
— Automatically Re-Transmits bad blocks
— Transmits data In 126 byte blocks
U - SZff.ff
PASCAL UTILITIES
meoulrms LUC DATA Pascal ear 3.
XREF « produce a Cross Reference Listing of any text; oriented
to Pascal Source.
F and CCF - tJS.OO
ImCLUOC -- allows the Inclusion of other Filet In a Source Teat;
has unlimited nesting capabilities. Also allows Binary File
Inclusions.
F and CCF - tZS.OO
PROFILER — produces an Indented, numbered, "Structogram* of a
Pascal Source Teat File. Allows viewing the overall structure
of large programs, and provides clues as to the Integrity of the
program. Supplied as Source Code; requires compilation.
F and CCF - tZS.OO
"•FLEX is a u-ertmmav* of TmcrawctJ $ytmK»s Corouhams
-0S9 is a trademark of Imcrowe
femLlmbUlty __
P - FLEX, OT » Color Compter FLCX
■ 06-9, CCO » Color Computer 06-^9
- OllFLtX
CCD - Color Computer Wok
CCT • Color computer Tmpm
56
III ?<*>#•• StPfJCtfy Yd]
'•9
III
66' Micro Journal
Lmcldata
COffCAT
Pascal mOT required
Allows reading TSC Mlnl-fLEX. SSB 0OS68. and Digital Research
CP/H Oisks while operating under FLEX 1.0. FLEX 2.0. or FLEX
9.0 with 6600 or 6909 Systems. COPYCAT will not perform
Miracles, but. between the program and the manual, you stand a
good chance of accomplishing a transfer, Includes Utilities to
List Directories. Copy Files, and convert Text Files when
required. Also Includes a Utility for Investigating Physical
Compatibility problems. Programs supplied In Modular Soorce
Code (Assembly language) to make it easier to solve unusual
problems.
Compute r Syttnaw Comal twti
™^"~ — mniSK UTILITIES
Eight (ft) different FLEx Utilities that should be a part of
every FLEX Users Toolbox; Assembly Language {Source Code):
Copy a File with CRC Errors, so It can possibly be salvaged;
Test Disk for errors; Compare two DIUs; a fast Olsk tack up
Program; Edit Olsk Sectors; linearize Free-Chain on the Olsk;
print Disk Identification; and Sort and Replace the Disk
Directory (in sorted order).
PLUS
Ten BASIC Programs to;
A BASIC Resequencer with EXTRAS over "RENUH"; works with ALL
versions of FLEX BASIC ANO the Precompiler, checks for
missing label definitions, processes Disk to Disk Instead of
In Memory.
Compare. Merge, or Generate Updates between two BASIC
Programs, check BASIC Sequence Numbers, compare two
uo sequenced files, and 5 Programs for establishing & Master
01 rectory of several Disks, and sorting, selecting, updating,
and printing paginated listings of these files.
A BASIC Cross-Referemce Program, written In Assembly Language,
which provides an X-Ref Listing of the variables and Reserved
Words In TSC BASIC. XBASIC. and PRECOMPILER BASIC Programs,
ALL Utilities Include Seur+e (either BASIC or Source Code). An
EXCELLENT Value!
F and CCf - ISO. 00
BUSINESS
WORD PROCESSING
■tlodmsh Micro Syst—s
SCRI0ITOR III
EXTREMELY Powerful Screen-OMen ted Editor/word Processor,
Almost 50 different conaflnds; EXCELLENT Documentation (over JDO
pages), including a full Tutorial Section to help you learn how
to use the system, features Cursor-based editing, dynamic
Screen Formatting (what you see is what you get), Multi-Column
display and editing, "decimal align" columns (AND add them up
automatically, if wanted), define multiple keystroke macros, even
and odd page number headers and footers, imbed printer control
codes In text, full Justification series of commands, full "help"
support, store common command series on disk for future use,
etc. tasy "Set-Up" (for example, you just hit the key you want
to use for a specific function, such as "cursor up", and the
System reads an stores that key - no digging fnto tech manuals
for codes, etc.): use supplied "set-ups', or remap the keyboard
to vnat you are used too. Except for proportional printing,
this package will 00 IT ALLS
6600 or 6609 FLEX or SSB DOS. OS-9 - S17S.00
Soitttaat Media
SPELL6 "Computer Dictionary"
OVER 120,000 words!
No more p Let your fingers do the walking through the Dictionary*
while you are entering Text with your favorite Editor or Word
Processor, SFELLB is more than just "another Spelling
Checker"; It allows you to look up a word from within your
Editor or Word Processor so that you KNOW It Is right WHEN YOU
TYPE IT IN with the SFK.CJD Utility (which operates In the FLEX
Utility Space). Yes. It ALSO allows you to check and update the
Text after you 6re finished; along with allowing you to ADO
WOROS to the Dictionary, "Flag" questionable words In the Text
for evaluation later, 'view a word In context" before changing
or Ignoring, etc. SPELL* first checks a "Common Word
Dictionary*, then the normal Dictionary, then a "Personal Word
list*, and finally, any "Special Word list" you may have
specified. SPEllt also allows the use of Small Olsk Storage
systems.
F and CCF - H».9S
W--E-
^FLCX * a It,
"OSB 4 a uabemark of ftmcrowsre
Add 21 U.S.*.
(aim, #a.w>
Iam « • vi i -. - par*!**
101 ait F»r*it*
System ConsunarHs
fUi P1SK£fTE_mH£VE*V$S0 fUMOJASi
3 TOLL PflKC
1-800-338
TELEX 451 414 *VT BTH
* 6800 M
Jjfctit m?Aif
5900 Cassandra Smith Rd.
Hixson, TN 37343
for Information
call (61$) 642-4601
CoCo OS-9 f ' *LtX"
SflFTUIME
Great Plains Computer Co.
STYLOGRAPH
A full-screen oriented WORD PROCESSOR — (now runs on the Data-
Comp and FHL Color FLEX Systems; uses the SI * 24 Olsplay
Screens). Full screen display and editing (I.e.. what you see
is what you get); supports the Daisy Wheel proportional
printers.
SPECIAL CCF - H9S.0O
F and - 1295.00 U - S395.00
Fast Computer Dictionary.
F, CCF. OS/9 - ms,oo
SPELL
U - U75.00
KAJL MERGE
Greatly extends the power and flexibility of STTLOCAAFM.
F, CCF. - $145.00 U - 1195.00
Southeast media
JUST
Text Formatter
JUST, a Text Formatter developed by Ron Anderson, provides
numerous features which make it a valuable addition to any FLEX
Users Software Library. JUST 1s designed for formatting Text
Output for Dot Matrix Printers and provides many unique
features:
'Output the "Formatted* Text to the Display for format analysis
and change.
-Output the "Formatted" Text to a Text File for use with the
supplied FPRINT.CUO for producing multiple copies of the Text
on the Printer INCLUDING IHBEOOED PRINTER COMMANDS (this
Utility Is very useful at other times also, and worth the
price of the program by itself I.
-"User Configurable" for adapting to other Printers (comes set
up for Epson HX-80 with Craftrax); provides for up to ten (10)
Imbedded "Printer Control Commands", such as Italics on and
off. boldface on and off. etc.
-Automatic compensation for a "Double Width" printed line.
-Includes the normal line width, margin, Indent, paragraph,
space, vertical skip lines, page length, page numbering,
centering, fill, justification, etc.
-Use with ANT Editor.
-Supplied with "Structured Source* tHIndrush PL/9); easy to see
the flow of the program,
F and CCF - 149,95
teUafcUlty
F « Fl£X. CCF • Color Coaifmitej" HX*
O =■ 06-9. OCX) * Color Cav»pvte>i flff-9
U - UhlFLFX
CCU * Color Carter Dttfk
OCT * Color Compter Tape
W Micro Journal
lit Plm>«m# Specify Ymt Op>*>rmtlnf $yst«mY i Disk Sis* lit
57
mi warn mr*M*r$s$ w*c*4n
«P TOLL PMC TILII SSI 414 PVT ITH
1-800-338-6800 Ml
3& II fiiif
5900 Cassandra Smith Rd.
Hixson. TN 37343
tor Information
call (615) 642-4601
CoCo OS-9 ,,> FUEX"
SOFTWARE
DATA BASE
MANAGEMENT SYSTEMS
mestcmtiter Applied easiness System s
Possibly one of the most powerful Database Management Systems'
available, this machine language program Is small enough to
operate on a finglt sided 5* disk, yet provides the speed of
H.L. and power Hailed only by the user's Imagination. This OMS
supports Relational, Sequential, hierarchical, and Random Access
File Structures, and has Virtual Memory capabilities for those
Giant Oat* 6«ses. IDAS Level I provides a functional "entry
level" Systea which provides for defining a Data Base, entering
and changing the Data, and producing Reports. IMS Level II
adds the POWERFUL "CCKftATT facility which uses an
English Language Coamand Structure fn Manipulating the Data Co
create new File Structures, Sort. Select, Calculate, etc. OPS
Level III adds several special "Utilities" which provide
additional ease of working with the various structures, changing
Systea Parameters, etc.
IMS Lvl 1 - F & CCF - 1129.95
I0HS Lvl IT - F 4 CCF - J199.9S
IORS Lvl III - F a ZCF - S269.9S
XOHS Systea Manual only - S24.9S
ACCOUNTING PACKAGES
treat Mains Computer Co, and Universal Data feeseercn, Inc.
both have Business Packages written In TSC XBASIC for Ft(x,
CoCo FLU, and UaiFLEX
Call 800*138-4800 for aore Information
Computer Systems Consultants
nCTTDEEi iwnwnmmt
The Full Screen Inventory Systea provides a aeans of maintaining
snail inventories. Using a linked, keyed randoa file structure
based upon the itea field, it keeps the file in alphabetical
order for easier inquiry. With the FIMO coaaand, the user My
locate and/or print all records matching on partial or complete
itea, description, vendor, or attributes, items In backorder or
below alniaua stock levels any be located and/or printed tnru
the saae process. Printed output may be produced In Item or
vendor order. A materials requirement planning (HRP> capability
for manufacturing environments Is Included to allow the
maintenance and analysis of Hierarchical assemblies of f teas In
the inventory file. It requires TSC's Eateaded 1ASIC.
F and CCF - 1100.00, U - SLS0.00
Tma Virginia Company
BI2PACC
IIZPACK Is used for storing accounting, nuaerlc, and financial
da ta which can then be used for planning, budgeting,
forecasting, analyzing, etc. While "Electronic Spreadsheets*
are extremely useful In many situations, 0I7FACK excels In
businesses where there ^r^ numerous expense coluans, revenue
sources, significant business Indicators, large numbers, erratic
week-to-week and month-to-month fluctuations, etc. BIZrAfJ.
helps determine statistical relationships, establish trend
lines, "saooths" data via moving averages, analyze seasonal data,
adjusts for Inflation, lags data In Statistics or Column
functions, plots data, etc. IIZMCK is oriented toward time
series analysis of businesses. The Program displays Information
on the screen In Columns of Information with each Row
conforming to a defined Period of Tiae (weeks, aonths, years.
etc.), and is very easy to use (data Is easy to enter, change,
and aodlfy; coaaands can be renaaed to suit the users
requlreaents; ununited ability to create specialized commands
using common BASIC Statements; etc.}. Requires TSCs Extended
BASIC.
f and CCF - S135.00
with Source - WS0.00
Computer Systaai C o nsul u nti
TMULi RASA SPREADSHEET
TABULA RASA Is similar to DCSKTOP/PLAN and provides for the
generation and maintenance of tabular computation schemes often
used for analysis of business, sales, and economic scenarios.
Its menu-driven user Interface provides these capabilities even
to those users with no programing experience. Its extensive
report-generation capabilities allow the user to generate
professional results with minimum effort. It requires TSC's
Extended BASIC.
F and CCF - ttOO.OO. tl - 1200.00
Co mputer Systems Center
OYtACALC
THE Electronic Spread Sheet for 6B09 Computer Systeas. An
ettremely POWERFUL Business Tool, this Program will find an
unlimited number of *non-business" applications, also (for
example, a full Junior College Electronics Curriculum was set up
using OYIACALC). Advanced features like "Table Lookup* a»ke
Income Tax work easy; Column or Row Sorting for numerous
applications; etc. Completely 'Memory Resident", Machine
Language, this Program is FAST. Provides STANDARD Fttx Teat
File output for use with BASIC, Word Processors, Pascal, *t\
etc. Also available for Deta-Coap and FHL FLEx systeas using
the SO * 24 Displays.
F and SPECIAL CCF - SJO0.00
U - 1394.00
ODDS AND ENDS
Computer Systems Consultants
FULL nOB FOWtS DISPLAY
This package supports any Serial Terafnal with cursor control
of Hemory-Happed video Displays. The package substantially
extends the screen Input/Output capabilities of TSC's Extended
BASK prograas by providing a slaple. table-driven method of
describing and using full screen displays. These table entries
are easy to set up and aalntaln, and are normally stored on
disk and read as required. A slaple. Interactive means of
generating the forms and the data field definitions is provided,
F and CCF - ISO. 00, U - PS. 00
Consultanti
FULL 50EE1 NAlLImt LIST
Screen Hailing List System provides a means of
Using a random fill structure
it maintains the
With the FIMO
the Full
maintaining slaple milling lists.
based on the first character of the naae field,
file in alphabetical order for easier inquiry.
command, the user may locate all records matching on partial or
complete name, city, state, zip, or attributes. Printed
listings and output to labels aay also be produced on the s^me
selective basis. It requires TSCs En teamed tASlC.
F and CCF - $100.00. U - $110.00
aaa 21 o.i.a
(■!■- 12. Ml
101 air raralfa
"FLEX is a tredavneA c* Tectwcei Systems Constant
"059 w • umttwvnavk of Mcroware
llOOJlHRflO mmLammmffav a«L\m A* AmA Am.
%m^OOC***«ndf« Smnh Rd CoCo ot* »t*w
*nro («13) M2-460*
*• Liability
F - FLO* OCT • Color Computer FLEX
O • 06-9, ODD • Color Computer 06-9
U - UhlFUX
OCD ■ Color Computer Dink
OCT « Color Computer Tope
58
Iff PI
SfXKirt/ YdJdJT OfMNTrnVtlffJi +9*++* | »!«* lllA) 111
68* Micro Journal
Southeast Media
CNESS 6609
Requires FLEX and DISPLAYS On An? Type Terminal
features:
•Tour levels of play.
•Swap side. •point scoring system.
•Two display boards. "Change skill level.
•Solve Checkmate problems in 1-2-3-4 moves.
•Hake move and swap sides. *?lay white or black.
This Is one of the strongest CHESS programs running on any
nicrocomputer. estimated USCF Rating 1600* (better than most
"club* players at higher levels).
F and CCF - S79.9S
Southeast Media
DIET-TRAC Forecaster
DlET-TAAC Forecaster is do XBAS1C program that plans a diet
In terms of either calories and percentage of carbohydrates,
proteins and fats (C P G?> or grams of Carbohydrate. Protein
and Fat food exchanges of each of the six basic food groups
{vegetable, bread, meat, skim milk, fruit and fat) for a specific
Individual.
Sex, Age. Height, Present Height, Frame Si#e, Activity Level
and Basal Metabolic Rate for norma) Individual are taken Into
account. Ideal weight and sustaining calories for any weight of
the above individual are calculated. Hhen a weight goal is
given {either gain or loss), and a calorie plan is agreed upon
between the computer and the individual, the number of days to
reach the weight goal Is projected. The starting and ending
rate of weight loss is calculated, and a daily calendar with
each day's weight for a 30-day period is printed.
F • J59.95
U - 189.95
COLOR COMPUTER
SOFTWARE
Stearns Electronics
FORTH
Intrigued by Forth??? Here is a FORTH package tailored to the
Color Computer! This package Is supplied on Tape, with
Instructions for transferring It to disk if you wish, written
primarily In machine language, It's speed is unparalleled. A
full Semi graphlc-8 Editor Is provided, along with 'goodies - like
Graphics and Sound Commands, Printer Commands, Auto-Repeat and
Control Keys, etc. If you are Interested In Learning FORTH, a
Trace Feature is provided which Is Invaluable. If you are a
FORTH Pro, this package provides CPU carry Flag accessibility,
Fast Task Multiplexing, Clean Interrupt Handling, etc. (Or; you
won't "out grow" the Basic capabilities of this Implementation).
Combine this package with Leo Brodie's EXCELLENT Book "Starting
FORTH", and you will be a FORTH Expert before you know It {and
have a lot of fun doing It!).
Color Computer TAPE - J58.9S
Cm torn Software Engl net ring, inc.
Color Computer uUfHIC SCJttEM PRUT Programs
Ouraps any *PH00E H Screen to the Printer with the BASIC USR
Function. Shift the Printout left or Right or Reverse Print
(Dark for Light Screen and Vice Versa]. All Programs on Tape.
6SPR for R.S. LP-VM/VIH ft DAP 100/200/400 S7.9S
&SPRE for Epson w/ Graftrax and Graftrax ♦ *9.95
6SM6 for Gemini 10 and lb ?9-95
6SW for the Prowriter Printers *9.9S
Custom So f taw re Engineering, Inc.
— MTT-MJKr GDttM Program
A Menu Driven EXTENDED BASIC Program which allows the entry of
up to IZ Memos per Day, each of which may contain up to 28
Characters, for any day of the Month between the years 1700 and
2099. A Araphic Calendar shows which days contain Nemos, and a
"Key Word* Search Is provided which can be output to the Screen
or Printer.
TAfE OATE-0-BASE CALENDAR
(Each Tape File will hold up to 400 Memos) S16.9S
DISK DATE-OBASE CALEMOAR
(4.000 Nemos at 300/Month per 01 s*> 119.9$
fe-Q
444 H 0.1. A.
(mi*. 11.30)
[M4 it IttrfaCt r«nl|i
101 Air rc.tl ( D
F*£E PISXiTTiJMH £¥t*Y$59 mCHASi
3? TOLL FREE TILEX 33S 414 PVT tTN
1-800-338
%
T^tM wily
%
IW
5900 Cassandra Smith Rd.
Hixson, TN 37343
for information
Call (815) 842-4601
CoCo OS-9 T " FLEX 1 "
SflFTUIARE
Custom Software L no i nee ring, inc.
THaFi ThlEREST-fng
interested In INTEREST I the Money Kind]? An EXTENDEO BASIC
Program that will help you deal with numerous problems requiring
interest calculations. Present Value, Rate of Return, Current
Bond field and Rate of Return to maturity. Loan Repayment
Amortization Schedules, etc,
TAPE - $29.95
Custom Sotjfcart
Engineering, |mc.
DRK fiJITJL HAMM.EK 64K
An EXTENOED BASIC Data Management System w/ Mach. Lang.
Routines. Allows a aax of 246 Chars, and 14 Fields per Record,
and another Record can be linked to the first; 8 Char. Field
Names, up to 99 Chars, per FieldL Powerful On-Screen editor
for Input and update, flexible Output capabilities Including
output to Of sic Files for use by other Programs. Change File
Definition without re-entering the Oata, Split Files, etc..
Allows Multiple Field Sorts. Select on any combination of Fields,
etc. An extremely POWERFUL TOOL; instructions provide examples
of Nailing Lists and a Financial Stock Profit and Loss Tracking
System.
01SK - S54.9S
Custom SoUatar* Engineering inc.
(FRTTJOUSLt EtfTtV
DISK EXTENOEO BASIC Accounting Program w/ Mach. Lang,
Routines. A "Traditional" Accounting Package for Small
Business, Clubs. Churches. Personal use, etc. Up to four levels
of subtotals with Trial Balance. Income Statement, and Balance
Sheet Reports. DOE allows up to 300 accounts and a Trial
Balance of S9, 999. 999. 99. Transactions may be up to 14 lines
long, and comments and explanations may be freely used.
Accounts are traceable to the Journal transaction, which may
Include comments. Screen reports allow review of past
transactions and current balances.
DISK - S44.9S
'FLEX *% a K*0t*naVt of Tecnnc* SytNwns Comsu1av>is
"OS9 is a trmdmmavk oi Mcrom>»rt
X TIKL PMI jpj AA
mS** 00 - .»« »»« SflFTUIflBE
* knTO (BtS) B42-460I Hill I III II III
avmOmbUlty
P m FLEX. OCT • CoJor C»"p*er FLEX
O - 06-g, ODD • Col^r Co*w*itm\ <JS-9
a - UhlFLEX ~
CX3> - Color Computer Disk
OPT • Color Computer Tept
68' Micro Journal
III Pl#«s# Specify TMf Opmr*rt+i SfBttf) 4 Olsk Six* III
59
TEN MOST -ASKED QUESTIONS
'•»•« DYNACALC
TM
THE ELECTRONIC SPREAD-SHEET FOR 6809 COMPUTERS
1. What Is an electronic spread-sheet, anyway?
Business people use spread-sheets to organize
columns and rows of figures. DYNACALC simulates
the operation of a spread-sheet without the mess
of paper and pencil. Of course, corrections and
changes are a snap. Changing any entered value
causes the whole spreadsheet to be recalculated
based on the new constants. This means that you
can play, what if? 1 to your hearts content.
2. Is DYNACALC Just for accountants, then?
Not at ail DYNACALC can be used for just about any
type of Job. Not only numbers, but alphanumeric
messages can be handled. Engineers and other
technical users will love dynacalcs slxteen-digit
math and built-in scientific functions. You can build
worksheets as large as 256 columns or 256 rows.
There's even a built-in sort command, so you can
use dynacalc to manage small data bases — up to
256 records.
5. What will DYNACALC 00 for ME?
That's a good question. Basically the answer is that
DYNACALC will let your computer do Just about
anything you can imagine. Ask your friends who
have VlslCalc™, or a similar program, Just how
useful an electronic spread-sheet program can be
for all types of household, business, engineering,
and scientific applications. Typical uses include
financial planning and budgeting, sales records,
bills of material depreciation schedules, student
grade records. Job costing, income tax preparation,
checkbook balancing, pans inventories, and payroll.
But there is no limit to what YOU can do with
DYNACALC
4. Do I have to learn computer programming?
NO) dynacalc Is designed to be used by non-
programmers, but even a Ph.D. In Computer
Science can understand It. Even experienced
programmers can get jobs done many times
faster with DYNACALC. compared to conventional
programming. Built-in HELP messages are provided
for quick reference to operating instructions.
5. do I have to modify my system to use dynacalc?
Nope. DYNACALC uses any standard 6809 config-
uration, so you dont have to spend money on
another CPU board or waste time learning another
operating system.
Order your DYNACALC today!
Foreign Dealers:
Australia & Southeast Asia: order from Paris Radio Elec-
tronics. 161 Bunnerong Road (PO Box 380) Kingsford,
2032 NSW Australia. Telephone: 02-344-9111.
United Kingdom: order from Compusense. Ltd., PO
box 169, London N13 4HT. Telephone: 01-882-0681.
Scandinavia: order from Swedish Electronics hk ab,
Murargatan 23-25, Uppsala 5-754 37 Sweden Tele-
phone; 18*25-3000.
6. will DYNACALC read my existing data files?
you bet) DYNACALC has a beautifully simple
method of reading and writing data files, so you
can communicate both ways with other programs
on your system, such as the Text Editor. Text
Processor, sort /Merge, stylograph™ word
processor, rms™ data base system, or other
programs written in BASIC, C, PASCAL, FORTFAN. and
soon.
7. HOW fast IS DYNACALC?
very. Except for a few seldom-used commands.
dynacalc Is memory-resident, so there Is little disk
I/O to slow things down. The whole data array
(worksheet) is in memory, so access to any point Is
Instantaneous. DYNACALC is 100% 6609 machine
code for blistering speed.
8. is there a version of DYNACALC for MY system?
Probably, you need a 6809 computer (32K
minimum) with FLEX™. unlFLEX™, or OS-9™
operating system, you also need a decent crt
terminal, one with at least 80 characters per line,
and direct cursor addressing, if your terminal Isn t
smart enough for dynacalc, you probably need a
new one anyway. The unlFLEX and 05-9 versions of
DYNACALC allow you to mix different brands of
terminal on the same system. There s also a special
version of dynacalc for Color Computers equipped
with FLEX (Frank Hogg or Data-Comp versions).
9. how much does DYNACALC cost?
The FLEX versions are Just $200 per copy; UnlFLEX
version $395; 0$-9 version (works with LEVEL ONE or
LEVEL TWO) $250. Orders outside North America add
$7 per copy for postage, we encourage dealers to
handle dynacalc. since irs a product that sells
Instantly upon demonstration. Call or write on your
company letterhead for more information,
10. where do I order dynacalc?
See your local dynacalc dealer, or order directly
from esc at the address below, we accept
telephone orders from 10 am to 6 pm. Monday
through Friday. Call us at 314-576-5020. Your visa or
MasterCard is welcome. Please specify diskette size
for FLEX or OS-9 versions, software serial number Is
required for the UnlFLEX version
Computer Systems center
13461 Olive Blvd.
Chesterfield, MO 63017
(51 4) 578-5020
%
UnlFLEX software prices Include maintenance for
the first year.
dynacalc is a trademark of
Computer Systems center
tfiHOic ii * trMMmarfc of VWCorp
STYLOGRAPH ti i trademark of Great Plain* Computer Co
rms it a trademark of wamington computer Service*
FUx and um FLEX are trademarKi of TSC
OS 9 It a trademark of Mltroware and Motorola
'6S' Micro Journal
WINDRUSH MICRO SYSTEMS
UPROM II
PtOGRMS end V€ftirlESi 127M,
T2S04, T2716, T2S16, I2JI2/27J2A,
■Klfo4764/c, !2?«4/276«ft, 1*5*4.
|27l20/27l29A, **vJ 1272*6.
I>tn1el. fT*i«i r nutotorole.
no PtpsoNAiiTr pdqxams recmiukj;
TRl-VOLT EPPOWS Mt MOT >UPPQ*UP
INTEL 1 t lot tit Bint progreeelrig
<ti) lnpl*a«nttd for Intel
2764. 27124 end 2?«6 4t»Utt.
■nielllo*"! progreoejlng roducat
lh* evereoP progroaotng 1 1o* ol •
27*4 froo 7 otnulet to 1 otnutt
1) trtondt (under FlU> «1th
greet ly laprewfd reiiabliitv.
F Fully encloeed poo <Hh V
flat ribbon cable for connection
io tht (Hilt computer AC6621 M*
Interface board.
NC6409 Software for- FUX end 0S9
ile*«l 1 or 2. Version 1,2>.
• IMAIT US* FlLt of feet loiO*r
aupoiied with FLfK. moot end OS9.
■ervu drwifl lo'tvi'* provld**. the following iKHMltt!
a. FILL ..« atlected eree ol tht Duller etch • Hit Cher.
b. PAJ9E .... block* of deta.
C. 9*9** ........... the bulfer In HEX end ASCII.
0. UNO ..... a ttrlng of byiet \n thi buffer.
e. EfUIUME/CffUfct ► the content! ol tW buffer.
f. CIC ... chacliuo e telected arte of the buller.
B. CQ*f .. ..... t telected tree of on EPAC* Into I'M buffer.
>•. VftlFf .......... a tlLKtld irti of on mow ege1n»t the butler.
1. PtOttAP ........ • tetected Oft* Of on (MON wllh data In tht butter.
j. SElECt ... i rmm (PROP type (rtturn to typtf oenu).
k. IN1ER .......... tht tyitea BonHor.
I AtluftN ......... to tht operating tyttea.
1. EXICLJTE ... . ony DOS utility (only In FLEI tnd 0S9 voraloni*.
FLCH AW 019 VttSlPNS AWiiLAaLS FApP) *J«)l. SSOiffXtt COPTICS 11$ 0)RttT.
PL/9
* Frtjndly tnter-tctlve envlrvewni «here you have INSTANT eccttt to tno
Editor, tht Compiler, and th» f rair-Oabvflgar, which, eaongtt o\*»mr
tMrvgt, con tingle it*P tht progre* * SOU* If lint at t tint. Vow alto
haw Olrvct accei* to any FLEX utility and your tritn oonttor.
• try* (
l orgon'red *• t tutorial *lt» plenty ol *■***>!»*.
• fail SINCE PASS (Q^iUir pro«Ktt A« of COPFACf and f«Sf 6309 oacbtn*
COd* output P#r «t«Hi1r «1t» no fun*-H«« OWrhoadt or*lTcon»t f«*t.
• fully c«MVtt1hl« with TIC tut editor for»#i tf1»k filet*
• ltorwd and untlgned *Tl** and tllUii**, 12-blt Uootlng polnl il*t».
• Vfttort (Urtfli diBvnalon orr« T t> on4 polnUrt ere tupenrted.
• Metheoatscet e^preetlontt <♦). (-)# <>>. </), oodblui <\>^ nesailon <•!
• Upr»t»1on evaluatorei (•). (0>, «), Ol. <>•>, (<>>
• NH operetort! UIB>. {OP), IfOR/lOt). <WT), C$Miri), (SWu»
• Logical operetortt I.W), <.0H>. <.tOP/XOtl
• Control stateoentti l7.,THCN..tLff . If. .C AMI ..CASE?. .IX W, IK6tN..EN0 #
WMlLe... ne>E*».,U«|T|L / tEPt*T..K»tWEl, {ALL* JU*P, AftUtN, MIAK. «0t0.
• «1rtct accttt to CAfCA). (ACCfi>, <ACCP), <XREQ), <CCR> and (STACK).
• rUUT •wpeortt the MC6M9 tiSCf, ml, riM. IN. Sul, UU end SV13
Mtctort. urui«s ■ tttf-ftierting <froo QOwor-up) p/ogree that u«ee *m t
or Au., ol the ntbMV Internoti it en ebeolute tnapr
• Mchine code —r be teoeaoed in the pr agree vie the *«** «tet**«rt. Thlm
enebles you to code critical rovtlnet m ettrafcty len«oe%e end ooAtd thro
In the PL/9 progreo Itee >«ACf tor Octal lt>,
• Procedure* *iy be petted «nd may returrt verlebtrt. Ihlt aekte Ihte
function* which beheve ■• though they wtrt en tnttgraL pari of PL/o.
• lavtrol fullr doeuoenlad library procedure ejedulee ere tuppHwdt KOSUB4.
eJTie,, nm«iq. Mine, ileho. scipack. sitsias. bastrivc. end rcalcon.
>f IFFKtfeWT CQWXLIP 1 WAVt FB
LiA'l-
iuoted froo Ron Andereone *LEI U%9r Notet ioluan In *o$. N**d *e may agreT
MACE/XMACE/ASM05
All of thime product* faatura e Hghly producttve envlronoent ulcere the
editor end the oileofeler reeldc In aeeejry together. Gone ere the oeyt of
tedlwt diet lood end «e v e ooeratleni uhSle you ire drbvv«1ng your 10O*.
• Friendly Inter-ecttvt rnv1ron«efxt ehere you htvt Inttent eccett to the
ffdltor end tna Atieeftltr. ILIl utilities end yOwr tytta* aonltor.
• «ACE con elto product «l*o>*0Ct (Cl» ttateoenti) (or PL/? eit* the
atieeoiy lervgwaga tourct pAAted to the outpul it coeMMntt.
• KNACe 1* • crott etaeebler for the 6100/1/?/)/! and tupoont 1h« «nt«hd*d
eenoontce of Iht 6303.
• ASHTJ5 n ■ crotl e»«abltr for the MOT.
D-BUG
LOOKING for • tingle ttep tracer *no elnl 1n>Llne dlietaeobler thet l* eeiy
to uteff Look no lurther p you heve found it. Fh1a (>eck*o» It Ideel for
ihpat inU etteabU lenpuege progree debugging tetttont. P-euC occupitt
leet then M {Including u% Meet end verlebletl end eey be loaded enrehtrt
in wwmry. All you do it lOAp It. Ale IT end 40! (SO col vov* only).
McCOSH C
Tn 1 ■ It »m cc«ol<t« ■ 'C *i^pii«r a« you H iu Und on any op«/at<ng tytteo
for tht &409. It 1» coopletfU c^>Kib(i «1th UNIt VIC end only lactt
'bHoflaldi* (which trt of little practical uia tn en «-blt uOrLdt).
• Preducet very tffUent •■••*) I y language ftOUrce Output with Iht 'C #
towrce opl tonally interleaved at c wr !«.
• kHt-in opt teller mil Morten oBJect cod* by about tit.
• (UPCOTtt Interltorrdi atteoblr lon gun gt progreot.
• INCLJfEE Itt oun *ate*bler. The 7SC reLocetlng aatreJbler it only rewired
If you went to gertarete your own llbrerlea.
• The pre-procoaaor. coepller, optielrer, ttteabler end loedar til tun
indvcey^danily or kaidar the 'CC e<ecut1hr«* 'CC aeAet <o^1Ung t progree
to e<ecuteble object at stOPl* « t typing In *CC.NCU0.C <■!
IEEE -488
* supports all principal wets or thc icif-mb iWfMt wn snclncATioui
- Tatber
- Llttener
• Syeteo Controller
- Serial Poll
• Parallel Poll
- group Trigger
- tlnoit or Quel PHeery eddrati
* Secondary Addreit
- Tell only Ltilen only
Fully documented ullh (ceeplet* reprint of the KtLOBAMp article on tn*
(EEC but and the Motorola pubticetlao *6*tting aboard Xhm Itlt tot 1 *
' Low level eita^iiy lor^joge drirer* tulteble for 6400, e«0l. 6402. 6603.
6606 end 6409 era ^polled in the for* of Uttingt. a cooplttt back to
beck tett Progree It *Lm tiejplled In the fere of a lifting. Thete
dMveri hOVfr b**n tatent^ely tttted end mt* GuARANTCCb to work.
► ll"<jLe S«30 board (4. 6 or 16 addreitet p*r port), fully eoctftad. gold
plAted but conncctora end IEEE Interface cable etteeely.
PRICES
D-il* 16409 FLU only) ... M . S 73.00
NACC (6409 FLEA only) S 75.00
XrtA'C £6409 FL£X only) S 90.00
ASN03 (6409 FLEX only) S 90.00
PL/9 16409 UXK only) S194.00
•C <6409 fill ooiy> »295.00
IEEE-440 «tth iEEC-448 coble etat«6ly 9294.00
UPtOnVtiyu with <rw vertlon of eoftwere (no coble or intertece) .. fS9).M
UPtOnVll/C el above but <o*plete with coble end S-30 interface . ..,»»45.00
CA8LE 5' twUt-n-flet 90 way cable with tOC connectort * S 3S.00
S-30 iNT SS-30 Interfere for UPRCJPHII 6130.00
EX0R INT *X>torOle EXOebuk ((ItvXciiirl Interface for uPRQrWt ... St99.00
UPeON IFT Software drUert for 2nd operattng tyateo.
Soeclfy FLEI or 0S9 ANB dltk iljel 9 IS. 00
UPHON SIC Ais*«J>ly lenguege eovrcc (contact ut direct) ..............
All MUt) l l^iltf >jl HAIL P^Stif T
t»r«i im. P*y*tnt by lftl*l Noney Order. VISA or NAJf|t-<Up «l» accepted.
QmMX A Stt FML, UfCWWiUK, TSC, LUCOATA, LLOYD I/O.
A Alto*) > AtoOClATES.
FLEX (10> l> a tredeurk pi Technical IrllHI toni u 1 1 ent 1, 0S*9 (la) It a
tredooerk pt N 1c rover* SytieM Corporation^ IbMt (ti) *** EXOKltir (Id)
are tredeoarhe Of Pdtprel* Incprporeted.
WORSTEAD LABOftATORfES. NORTH WALSNAM.
NORFOLK, ENGLAND. NR28 9SA.
TEL: 44 (692) 4O4066
TLX= 975544 WMfCRO Q
'88' Micro Journal
61
THE 6809 UNIBOARD"™
SINGLE BOARD COMPUTER KIT
PERFECT FOR COLLEGES. OEM'S. INDUSTRIAL
AND SCIENTIFIC USES!
64K RAM! DOUBLE DENSITY
FLOPPY DISK CONTROLLER!
Hi
Out
BLANK PC BOARD
$9995
WITH PAL'S, AND
TWO EPROMS.
FOR 5-1/4 OR 8 INCH
SOURCE DISKETTE
ADD $10.
00
$249
COMPLETE KIT!
FULLY SOCKETED.
PRICE
CUT!!
£*
< UJ
OS
C* uJ
<r<=
:z
00
u.9;
gi
H
I- ft
kg
* H
(/> u.
g<
5>
THE COMPACTA UNIBOARD™: Through special arrangement with COMPACTA INC., we are
proud to have been selected the exclusive U.S. Mfg. of theirnew6809UNIBOARD™COMPUTER
KIT. Many software professionals feel that the 6809 features probably the most powerful
instruction set available today on ANY 8 bit micro. Now, at last, all of that Immense computing
power Is available at a truly unbelievably low price.
YOUR CHOICE OF POPULAR
DISK OPERATING SYSTEMS:
FLEX" from TSC *oe
OS9™ from Mlcroware $199
Specify 5-1/4 or 8 Inch
tn
UJ
<2
FEATURES:
• 64K RAM using 4116 RAMS.
• 6809E Motorola CPU.
• Double Density Floppy Disk Controller
for either 5-1/4 or 8 Inch drives. Uses WD1793.
• On board 80 x 24 video for a low cost console.
Uses 2716 Char. Gen. Programmable Formats.
Uses 6645 CRT Controller.
• ASCII keyboard parallel Input Interface. (6522)
• Serial I/O (6551) for RS232C or 20 MA loop.
• Centronics compatible parallel printer Interface.
(6522)
• Buss expansion Interface with DMA channel.
(6844)
• Dual timer for real time clock application.
• Powerful on board system monitor (2732).
Features commands such as Go To, Alter, Fill, Move, Display, or Test Memory. Also Read
and Write Sectors. Boot Normal, Unknown, and General Flex™.
PC BOARD IS
DOUBLE SIDED, PLATED THRU
SOLDER MASKED. 11 x 11-1/2 IN.
Digital Research Computers
w (OF TEXAS)
P.O. BOX 4615*5 . GARLAND, TEXAS 75046 • (214) 225-2309
TERMS: Shipments Will be made approximately 3 10 6 weeks after we
receive your order VISA. MC. casft accepted Add $4 00 shipping
USA AND CANADA ONLY
62
'68* Micro Journal
64K SS-50 STATIC RAM
«c&
$149
00
(48K KIT)
*Gtoi
*A
*o,
%
BLANK PC BOARD
WITH DOCUMENTATION
$45
SUPPORT ICs ♦ CAPS - $18.00
FULL SOCKET SET - $15.00
56K
64K
M69
MM
ASSEMBLED AND TESTED ADD $50
FEATURES:
• Uses new 2K x 8 (TMM 2016 or HM 6116) RAMs.
• Fully supports Extended Addressing.
• 64K draws only approximately 500 MA.
• 200 NS RAMs are standard. (TOSHIBA makes TMM 2016s as fast as 100 NS. FOR
YOUR HIGH SPEED APPLICATIONS.)
• Board is configured as 3-1 6K blocks and 8-2K blocks (within any 64K block)
for maximum flexibility.
• 2716 EPROMs may be installed anywhere on Board.
• Top 16K may be disabled in 2K blocks to avoid any I/O conflicts.
• One Board supports both RAM and EPROM.
• RAM supports 2MHZ operation at no extra charge!
• Board may be partially populated in 16K increments.
16K STATIC RAMS?
CLOSE OUT SPECIAL
WE HAVE DROPPED OUR 32K SS-50 STATIC
RAM BOARD WHICH USED 2114 LOW POWER
RAMS. WE WILL SELL THE REMAINING
STOCK OF BLANK PCB'S WITH DATA FOR
$17.50 EA. THESEFORMERLY SOLDFOR 150-
The new 2K x 8, 24 PIN, static RAMs are the next generation of high density, high
speed, low power, RAMs Pioneered by such companies as HITACHI and
TOSHIBA, and soon to be second sourced by most major U.S. manufacturers,
these ultra tow power parts, feature 2716 compatible pin out. Thus fully
interchangeable ROM/RAM boards are at last a reality, and you get BLINDING
speed and LOW power thrown in for virtually nothing.
Digital Research Computers
(OF TEXAS)
P.O. BOX 491565 - GARLAND. TEXAS 75046 ♦ (214) 225-2309
TERMS; Add $2 00 postage We pay balance Order under $15 add 75*
handling NoCOD We accepi Visa and MasiefCharge Tex Res. add 5%
Tax Foreign order* (oxcepl Canada) add ?0%P* H Orders over $50, add
85c fof insurance*
'68' Mkro Jouma)
S3
DISKETTES AND 680X SOFTWARE
SUPER SLEUTH DISASSEMBLER
lni«r«<t<v*4v aavntraaaa aourca o* d'a* will* la Cm It. locludaa *fi
apa^ty 6800.1.2^,^8.8/6502 var**p Of 2-m&m*$ »ar»lon
0S^> tod UNIFLEX vr+JOni alt* proca»a FLEX o*)*c| fit* format*
08JECT ONIV wtra.a** EACH SSO-FLEX ft OS-9. MS-COCO DOS
COCO DOS avaMabl* In 8800. 1 .M.V8.1/t*>2 vara** «n1y
EACH S99-FLEX, S101-OS-9, S100-UNIFLEX
laawJ OaflnllKMV binary flit adltm*, ate.
CROSS-ASSEMBLERS EACH S50-FLEX/UNIFLEX/OS-9, ANY 3 $100. ALL $200
aoaclfy fo» 1
trua. i«HM)ul«r. Ii
B-b*t
2-60. ao»a/si.
ta*H)mQ cm HMr^rrt wrrtfla* In C
I only with ail cnu-mamWart (tor S200)
DEBUGGING SIMULATORS EACH S75-FLEX, $100-OS-9, $80-UNIFLEX
apactly 8800/1, 11a*80S. 8502. 6808 05-9. 2-60 FLEX
OBJECT ONLY varal na: EACH 850- COCO FLEX ft COCO OS-9
6502 TO 6809 ASSEMBLER TRANSLATOR S75-FLEX, S85-OS-9, $80-UNIFLEX
S50-FLEX. $75-OS-9. $60-UNIFLEX
tranalalaa 8502 proQvama to 6808. noting i«auaec nn**rt«Mt
6800 TO 6809 & 6809 PIC TRANSLATORS
lr«miat«a 1600 program t to 6809, 6609 prog* i mi id ClC
FULL-SCREEN FLEX AND UNIFLEX TSC XBASIC PROGRAMS FOR 6809
iwlln comptoia curae* control}
DISPLAY CENEAATOR/OOCU MENTOR SS0 w/aotra. 625 without
MAILING LIST SYSTEM 6100 w wvr{« ISO without
INVENTORY WITH MR» 1100 w/amirca 660 without
TA6ULA RASA CP*£A0SHeFr 6100 w/amirea. 660 wlllMMil
DISK AND XBASIC UTILITY PROGRAM LIBRARY $50-FLEX & UNIFLEX
odll aactora. oprt drrvct&ry. maintain maata* calaJof, do drat aorta. *ra* 6A6IC. _
CMODEM PROGRAM $100-FLEX & OS-9 & UNIFLEX, OBJECT-ONLY EACH $50
pfovtdoa monu-drlMon t*laro«n«iuft+catlOfta faeltiitaa, aril* lorm*r»ai mod a opvoown load, MODEM? p/vna£Al. ate
5.25" SOFT-SECTORED DISKS EACH 10 S13-SSSD S15-SSDD S17-DSDD S25-DSOD
with ta«*ala •** hub r*i%Q»
SS-50C 256K 1.5MHZ MEMORY BOARDS BLANK $100 A&T $350
with inotructkm manual, aehomatko. and dolay lino, all part* raadlly avallabla
Moot p^Vimi In aouroa on dfe*. agoctfy computa*. d<ak also. opo»ati*e ayoiam.
Ceniacl CSC lo* toll catalog and doal«r mfonnaiion
28% dtacoont for multiple parcAaaan o* aamo program on oamo on*Of
For VISA and MASTER CARD, giva account, imp- data, phono US tunda only
Add GA mIh ta« and 5% ahipplog, no ahlpplng tor dlahi In 100 a
fUNIrFLEX Iratfomark Technical SVftloma Conaultanla. OS-9 tradamarlt Mltrowaro.
Computer Systems Consultants, Inc.
1454 Latta Lane, Conyers, GA 30207
Telephone Number 404-483-1717/4570
SOFTWARE..
HARDCORE
" FORTH PROGRAMMING TOOLS Irom Ihe 68XX&X "
•• FORTH specialists — get ihe besl' 1 "
NOW AVAILABLE — A variety ol rom and disK FORTH systems to
run on and/or do TARGET COMPILATION for
6800. 6301 6801. 6809. 68000. 6080. Z60
Wnte or call for mlof mabon on a special system to lit your require-
ment
Standard systems available for these hardware—
EPSON HX-20 rom system and target compiler
6609 fom systems fof SS-50. EXORCISER. STD. ETC
COLOR COMPUTER
6800V6609 FLEX or EXORCISER disk systems.
68000 rom based systems
68000 CPW-68K disk systems. MOOEL 1112/16
t FORTH is a relmed version of FORTH Interest Group standard
FORTH, faster than FIG-FORTH. FORTH is both a compiler and
an interpreter, H executes orders of magnitudes faster than inter-
pretive BASIC. MORE IMPORTANT. CODE DEVELOPMENT
AND TESTING is much, much fa ter than complied languages
such as PASCAL and C. If Software DEVELOPMENT COSTS are
an important concern for you. you need FORTH 1
firmFORTK^ is lor the programmer who needs to squeeze the
most into roms. It is a professional programmer s tool for compact
rommable code tor controller applications
» if OflTTX and hfrrf OWTTH afa irad***** ol Tat** ajDccayaajn*
» FLEX • a fradvmani o< T»cN»ca» Syfiama CcrmAMT* ax
~ CPU48K m ****** or 0>g<ai O aaaart* a>c
tFORTH**
from TALBOT MICROSYSTEMS
NEW SYSTEMS FOR
6301/6801, 6809, and 68000
.-> IFORTH SYSTEMS <~-
For all FLEX systems GtMIX. SWTP> SSB, or EXORcisor Specify
5 or 8 inch diskette, hardware type, and 6800 or 6609,
" tFORTH — extended fig FORTH (1 disk) $100 ($15)
with fag line editor
" IFORTH 4- — more* (3 5' or 2 8' disks) $250 ($25)
adds screen editor, assembler, extended data type . utilities,
games, and debugging aids.
" TRS-80 COLORFORTH — available from The Micro Works
•• firm FORTH— 6809 only. $350 ($10)
For target compilations to rommable code.
Automatically deletes unused code Includes HOST system
sour and target nucleus source No royalty on target . Re-
quires but does not include tFORTH + .
" FORTH PROGRAMMING AIDS — elaborate decompiler$1 50
" tFORTH for HX-20. in 16K roms for expansion unit or replace
BASIC $170
" tFORTH/68K for CPM-68K 8" disk system $290
Makes Model 1 6 a super software development system
" Nautilus System Cross Compiler
— Requires tFORTH ♦ HOST + at least one TARGET,
— HOST system code (6809 or 68000) $200
— TARGET source code: 6800-S200, 6301 .'6801 — $200
same plus HX-20 extensions— $300
6809— $300. eoeO/ZBO— $200, 68000-^350
Manuals available separately — price tn I )
Add $6 system for shipping. $i5 lor torogn ifr
TALBOT MICROSYSTEMS 1927 Curtis Ave., Redondo Beach, CA 90278 (213) 376 9941
64
W Micro Journal
!!! FREE !!!
Published Moitlhly by Computer Publishing Inc.. Hiison. TN.
#1.95
Bulk Rate
U.S. Ftastage
PAID
Chattanooga, TN
Permit No. 357
(Mar Mitre ifournal
The Color Computet Monthly Megaztae
$1.95 per Issue Vol. 1, Issue 2 October, 1963
THIS N THAT
The HOG NBC this nrjnth is that 0>-9 has
finally arrived for the Color Colter,
The ASTOUNDING part of the Radio Shack
OS-9 PacXage. besides the price, ia the
LLLUWUU 1LM. *>u 'Old Tine Radio Shack
Followers' will not believe what yoo see.
Jon Shirley ha 8 been telling us that the
main reason for the " lacX** of
documentation with a lot of their
products was the restrictions placoi on
releasing that information by Hkausuft; I
OS-9 on the COLOR COMPUTER
One of the * Operating Systems of the
Future** is now available for the 'little
old Color Computer**; OS-9. Freely
translated, OS-9 rroana "Operating System
for the 69W (OS-9 is now being written
for the &8ffB, also). Since it is fairly
obvious that UNIX and "UNIX-Tfl>e"
Operating Systertta will be cunnirg on just
about every cewputer to cone out in the
next few years, a whole new language is
beginning to appear on the horizon.
O&kx- crssajtex OB-9| the
We had been running a preliminary release
of OS-9 on the Qolor a^utar fior a fiow
weeks, and received the "Official Radio
ShacX** version for Review a couple of
days ago. To put it mildly, this fffu-**<y
is IXPRESSTVXJ For $69.95 (Radio Shack
Catalog Nunfcer 26-3030). ycu receive a 9
1/2 H x 7 5/a* x 2** package containing 4
FREE SAMPLE ISSUE
1-800-338 6800
WON.-FRI. 9-5 E.S.T.
TILEX 3*1 414 PVT ITH
USA-S12-50 per year. Canada* Mexrco~$T9.50 Per year
Surface Foreign- $24.50 per year. Airmail Foreign-$48.50 per year
(ftnlor Muvq ilnurnal "
TM Color Micro Journal is a trademark of Computer Publishing Inc.
5900 Cassandra Smith Rd.
Hixson.TN. 37343
'68' Micro Journal
66
LLIiO
TH
An HimnaULIIigent OSCflmunications Program
■ Easy Installation
■ Menu Driven
9 Intelligent computer to computer communications
9 Supports most file transfer protocols
9 Transfers CPM files to your system (Christtfisen Protocol)
• Access to timesharing services (Source. CompuServe)
■ Available for OS/9 and Flex
Price: % 99,95
G*rt h « Tradmwh id M*t«»**r
areatt PUaflaa Bananas* samaaDE?]
P. O. BOX 916
Idaho Foils. Idoho B3403
(208) 529-3210
Flr*iie***rm«rfcalTSC hx
iimJ-i* aft
256K V 512K V 1 MEG MEMORY SYSTEM
No* cmpetlblo »hh DMA coMra(tort. Hunt it up to IMh; without irneracinf
MROV or lanrrupn, Hei on option*! on board DAT for me *|(h CPU cordi
without ■ DAT, 1MK, 2MK. SI2K or IM byte p»r cud. FkJd upflredeel*.
OpttoneJ oooflfu ration illowe 4M by to eddreii inch (minf nrnmory board DAT)
•■boot CPU chmmgmt o* cedfee. I 7**r Itaftod Wiittmy,
TURBO win—1 diet •cft».r Md aamofy dUfaxnlci loftl*** »leh tfM irma
PW*— ± 2*C: 17mm, m ftWiXD, StSL S VKID, TOOL SttCUD
Dceeeeitc ehJpp*0| "^ hondUr^ $10.00. Lion monuat $13.00, *p?ltc*fck v«rd
imeoi poxchei*. C**hlo/» chock. COO. poreooel chock* wuit cloor before
•hlpeeot. FU. rottdeefti odd i% mHi» le*. SMpped *toc* lo 30 deye, Dealer and
f dJoaaia* ovolloMo.
COMPUTER EXCELLENCE INC.
P.O. BOX B442
CORAL SPRINGS, FL 33065
(?
our EPROM PROGRAMMER with Che field.
All daia cekan directly tt*m ■onufocturer's cwtoi *A* *i t iat*^. floftievo.
l/*ertaca*. or perecroUty *oct*l*a nay «lao b» rwjalred *t edcUtlonol oae*.
■ Trlpl* WQltOQO UHfl
' SMfpilOd in kit ten
C 1 D 1 E | f]
INTERFACE
INTELLIGENT
PROGRAMS
2W-
2506
2708-
2796
2516
2716
2716-
2532
2732
2732A
2564
2764
2S26
27126
2616
66764
674 B
8748
TOTAL
PRICE
NO
llli
PAR
PAR
SER
S30
SER
SER
NO
NO
Yti
MO
YES
YES
•
•
•
•
•
•
•
•
•
•
3
12
6
11
11
11
• 45*
6160
• 166
• 375
1466
IB76
0>RAH CJCH Praprajwr. «LM. Peraanelity nx%ii» (or 2506. #58. 51*, «/*3
2716 incluted. specify OV, dlok elite. «xl cporotiog oyotots (TSC>» 7LK or
S88'e DOB) +*n oed*ri/>g Navel only. S10; nAflltMf with BflVt p miT»M .
UNITEK • P.O. Box 671 - Emporia, VA 23647
66
'68' Micro JoumaJ
'66' MICRO JOURNAL
<£ The only ALL 6800 Computer Magazine.
<£- More 6800 material than all the others com-
bined: MAGAZINE COMPARISON
(2 years)
Monthly Averages
6800 Articles TOTAL
KB BYTE CC DOBB'S PAGES
7.8 6.4 2.7 22 19,1 ea. mo.
Average cost for all four each month: $6.53
(Based on advertised 1-year subscription price)
68 cost per month $2.04
Thats Right 1 Much. Much More
for About
1/3 the Cost!
OK, PLEASE ENTER MY SUBSCRIPTION
Bill My: Master Charge □ — VISA □
Card it - - Exp, Date
For □ 1-Year □ 2 Years □ 3 Years
Enclosed: $ _
Name .
Street-
City_
State
.Zip.
My^Computer Is:.
68 Micro Journal
5900 Cassandra Smith Rd.
Hlxaon, TN 37343
SUBSCRIPTION RATES
USA
t Year S24.50, 2 Year $42.50, 3 Year $64.50
♦FOREIGN SURFACE Add $t2.00 per Year to USA Price
♦FOREIGN AIRMAIL Add $36.00 per Year to USA Price
**CANA0A 4 MEX100 Add $5.50 per Year to USA Price
Cast) (USA) or drawn on a USA Bank! I I
:f?OfftMBfe>
V
Give Your OS*9 System The Power It Deserves!
Total Management Planning Softw re presents
The JJfFP POWER SERIES:
No One Else Can Match It!
The TMP POWER PLANNER
...is the Leader of a New Generation In Spreadsheets!
. . . is Unequalled in Speed and Power!
POWER PLANNER Features;
* The unigue "POWER UPDATE" which uses "circular
referencing, a new concept tbat makes POWER PLANNER far
superior to Other Spreadsheets.
* The POWER PLANNER also includes the traditional row and
column ordered calculations found in #ther Spreadsheet*. But cir-
cular referencing is much faster because it recalculates only related
cells!
* DATA ENTRY FREEDOM: POWER PLANNER eliminates
worrying over the order of calculation! With the "POWER
UPDATE/' data and formulas can be entered in any order, and
you get correct results no matter where your information is placed*
* NO FORCED RECALCULATIONS: With POWER UPDATE
you always get the correct answer, unlike Other Spreadsheets that
force you to keep recalculating until you get the right answer.
* SPEED; For handl in£ large spreadsheets, the POWER PLAN*
NER is the fastest. We invite comparisons!
* "POWER OVERLAY" lets you easily create Specialised
Reports with *'Boiler Plate'' screens. This means you can overlay
any number of screens from disk containing formulas* constants,
or formats, and automatically update one spreadsheet with another!
* EASE OF USE: Fewer Keystrokes, Help screens, and "Sna •
Shot" printing.
* A worksheet that will display up to 254 rows by 255 columns,
with cursor scrolling jn four directions.
* Column width is defined globally or by column. Cells are edited
in the "POWER PROMPT" box with convenient cursor move-
ment similar to a word processor.
* Full l3~digit precision, includes all the standard arithmetic
and trig function ► such as sum, average, maximum, sine, pi, etc.
* Formatted printer-output that eliminate** line wraparound.
For Speed and Power for Management Decisions in Budgeting,
Profit/Loss Projections, Tax. Loan and Financial Analysis, and all
kinds of "What If Calculations, there is no other spreadsheet
that is equal to the POWER PLANNER!
Requires 64K and at least one disk drive. $250.00
The TMP POWER MANAGER
. . . Beat in its Class!
POWERFUL CAPABILITIES:
it More char cters per record (7500) than any other program
in its class!
* Each database can contain up to 32,000 records.
* Each record can contain up to ISO fields of data-
it Each field can contain up to 50 characters*
* Fields can be Ipba, numeric, date, or monetary.
* f\>werful Sort and Repot t Generation capabilities.
it SORTLNG on any field or on a combination of fields. Plus, extra
power from the **OR SORT" and descending son features.
* Intricate math CALCULATING between fields based on for-
mulas you devise.
* The POWER MANAGER comes with an extensive Tutor.
GIVE YOU MORE ABILITIES:
* POWER MANAGER can create CUS1VMIZED LETTERS,
INVOICES, columnar reports, or label format for mailing!
it Use the Report Generator feature in conjunction with a text
editor or word processor to write personal letter to those individuals
who meet the geographic, date or monetaty criteria you select!
it Our Users put POWER MANAGER to work for them to do;
. . . customer mailings . . , past due notices . . . invoicing ... sale
analysis . . . order tracking . . . inventories . . . credit, insurance
and employee records, client profile reports, and much more,
► THE POWERFUL BOTIVM LINE: We take the competition
head on, and dollar for dollar The POWER MANAGER is by
far the best in its class!
Requires 128K and at least one disk drive 1365.00
► ORDERING INFORMATION: TMP SOFTWARE
2431 E. Douglas • Wichita, Ktntas • 67211
► OR CALL TOLL-FREE: 1-80O 255- 1382 ExL47
We accept VISA, MC, AMEX, money orders and cheeks.
NOTE: 77t« parent company of TMP Sa/N*/n The United Software Cfc, is
now the distributor end support organiestion for TMP Software
68' Micro Journal
67
STAR-DOS LEVEL I
Whenever a new DOS is introduced, there's
always the problem o( developing software to
work with it- So we did it the opposite way — we
analyzed the requirements of software that
already exists and developed a DOS that met
them... and exceeded them! The result is STAR
DOS Level I, a new DOS for 6809 systems, ideal
for single-user industrial, control, and advanced
hobbyist applications. This includes SS-50
systems and singleboard computers from a
variety o( vendors.
Level I is compatible with most current 6809
hardware and software On the hardware side, it
allows up to ten floppy or Winchester drives with
appropriate controllers. On the software side, it
runs existing 6809 software from all the major
6809 software suppliers, including TSC, Star*
Kits, Intjol, and others.
Wrjte or call for more information. STAR-
KITS Software Systems Corporation. P.O. Box
209, Ml. Kisco N.Y. 10549 (914) 241 0287.
<s
TAR-KITS"
amotson comrro* consultants
1
As socle
Ron Anderson, respected author end columnist
for 68 MICRO JOURNAL Announces the Anderson
Computer Consultants & Associates, e con-
sultfng firm dealing primarily In 68XX<X)
software design. Our wide experience In
designing 6809 based control systems for
machine tools Is now available on a
consultation basis.
Our experience Includes programming
machine control functions, signal analysis,
multi-axis servo control (CNO and general
software design and development. We have
extensive experience In Instrumentation and
analysis of specialized software* We support
all popular languages pertaining to the 6809
and other 68XXCX) processors.
If you are a manufacturer of a control or
measuring package that you believe could
benefit from efficient software, *rlte or call
fton Anderson. The fact that any calculation
you can do with pencil and paper, can be done
much better with a microcomputer. We will be
happy to review your problem and offer a
modern, state-of-the-art microcomputer
solution. We can do the entire Job or work
with your software or hardware engineers.
Anderson Computer Consultant? & Associates
3540 S+vrbrldge CmeM
Ann Arbor. Ml 48103
68 9 MICRO JOURNAL
61 MICRO JOURNAL PROGRAMS - RISK
Dlsk-
Dl sk-
Dtsk-
Dlsfc -
I SIC-
Disk-
e
9
Disk-
Disk-
Disk-
Dlsk-IO
Dlsk-11
Dlsk-17
Dlsk-t 3
1 Fllesort, Mlnlcflt, Mfnlcopy,
Mlnlfis, "Lifetime, •♦Poetry,
♦•Foodllst, ••Olet.
2 I sked I t w/ lnst.4 f Ixes ,
Prime, •Prmod, **Snoopy ,
••Footbel I , ••Hexpewn.^U fet Jme
3 Cbug09, Seel, Sec2, Find,
T a b I e 2 , Intext, Dlsk-exp,
•01 sksave.
4 Mailing Program, - Flnddat,
•Change, •Testdlsk.
3 •OISKFIX 1, # 0I SKF IX 2 ,
"LETTER, •♦L0VESIGN, ••BLACKJAK,
••BOWL I KG.
6 "Purchase Order, Index (Disk
file Indx)
7 Linking Loader, Rload, Merkness
Crtest, Lanpher (May 82)
Datecopy, DIskflx9 (Aug 82)
Home Accounting (July 82)
1 ssemb for (J une 84 )
Modem68 (May 84)
•Inltmf68, Testmf68, 'Cleanup,
•Dskellgn, # Leobug , Help
0lsk-t4 # lnlt, 'Test, # Ter«Ina1, p F1nd,
•Dlskedlt, Help
D I s k ~ I 3 M o d e m 9 ♦ Updates (Dec. 84
Gilchrist) to Modem9 (April 84
Commo)
NOTE:
This Is a reader service ONLYI No
Warranty Is offered or Implied, they are
is receive* by *6t' Micro Joaraal , and
are for reader convenience ONLY (some
MAY Include fixes or patches). Also 6800
and 6809 programs are mixed, as each Is
fairly simple (mostly) to convert to the
other .
PRICE: 8* Disk $29*93 - 3" Olsk $24-93
66 MICRO JOURNAL
P06 794
Hlxson, TN 37543
615-842-4600
* Indicates 6800
• # Indicates BASIC SWTPC or TSC
6809 no Indicator.
MASTER CAR© -VISA accepted
Foreign -- add 101 for surface
or 20* for air I I
'66* Micro Journal
DYNAMITE*
"THE CODE BUSTER"
disassembles any 6809 or 6800
machine code program into beautiful source
- Learn to program like the experts!
- Adapt existing programs to your needs!
• Convert your 6800 programs to 6809J
- Automatic LABEL generation.
• Allows specifying fcb s, FCCs. FOB s, etc
• Constants input from OiSK or CONSOLE.
• Automatically uses system variable names.
• Output to console, printer, or disk file.
• Available for all popular 6809 operating systems.
FLEX™ SiOO per copy; specify 5" or 8" diskette.
OS-9™ $150 per copy; specify S" or 8" diskette.
UnlFLEX™ $300 per copy; 8"' diskette only,
For a free sample disassembly that'll convince
you DYNAMITE + is the world's best disassembler,
send us your name, address, and the name of
your operating system.
Order your 0YNABDTE+ todayl
See your local oynamite + dealer, or order di-
rectly from tsc at the address below, we accept
telephone orders from 10 am to 6 pm, Monday
through Friday. Call us at 514-576-5020. Your VISA
or MasterCard Is welcome. Orders outside North
America add ss per copy. Please specify diskette
size for flex or OS-9 versions.
Foreign Dealers:
Australia & Southeast Asia: order from Paris
Radio Electronics, 161 Bunnerong Road (PO Box
580) Klngsford, 2032 NSW Australia. Telephone:
02-344-9111.
United Kingdom: order from Compusense, Ltd.,
PO Box 169, London N13 4RT. Telephone:
01-882-0681.
Scandinavia: order from Swedish Electronics hk
ab, Murargatan 23-25, Uppsala 5-754 37 Sweden.
Telephone: 18-25-30-00.
Computer Systems Center
13461 Olive Blvd.
Chesterfield. MO 63017
<314> 576-5020
%
UnlFLEX software prices include maintenance
for the first year.
dynamite ♦ is a trademark of Computer Systems Center.
Flfcx ana IWf l£X »» coownjrfcs of nc.
OS* IS S tridWTum Of MKTWYt ano Mqcoohi.
otjfer inquiries welcome.
Model EP-2B-79
EPROM Programmer
2764A, 1717.SA. J7254 In typically *>• *>. an* 1*0 ••corrii
im, 27128 Lv> typically SO, ind 100 ».rot»dt.
SlfPPOKTI l*l t*, .ft.UA tfcWOH ■
Olh*f 4++tft aspfnrtadl
2704, 7716, 27C14, 2732. 27C17, JJJ2A. 7736, KCN607A4. }}44A.
2744, 77C64, 27128, 27128*. 27256. 27C294, 28144, 2844A , t*7CJ2.
6731. )«E70, 874**, «ed 6749M.
*e« eofwara, fcMOC $.Oi$ cyvTAiint under nr>f" allowe the mer
to lead fro* 4l9m t of/feet lo*d*. eaee to dlek, Pro|re»» verify, read
te atioi), titcut* FL8K ae4 HOmw cawanda. Operate Item *ty
I/O ilct et>d r«py »oi« ta«r to tit* feature*. Truly an elegaat
aelutlen for botti the experienced and notice f ror r****r*.
if- 2**74 9171.00. Software 930. I/O Interface 539. Marmara
up*r*de for tP-ZA-74 $2J, Pereoulity «QduU* priced 417 to 131,
Optimal Technology, Inc.
Phone (804) 973-5482
Blue Wood 127 Earlysvtlle. VA 22936
NEW!
Compact
Flexible
6809
computer
The new ST-2900 System - a complete 64K smell business or hobbyist computer
l& only one of lis meny possible conflgurelfrons Among lis leatures are:
> Small enough to hold m your fiSndl (Eurocerd *■*♦: 9.«V n 6.3')
* Two bosfd system for greater versatility lhan single board computers
-CPU Board - POwerlul 8809E processor, tfiK or 64K RAM, 2K-flK EPROM, 2
RS232 serial ports with soflwere p< gremmeble baud reles,, 18 bll
counterHlme*. Ru/> I heCPU board a H by llself. or plug your own cuslom board or
our FDC board into the expansion connector'
■ FOC Board - double-sldsdrdouble'deflslly floppy disk controller with
edlustment free digllal dale separator and write precompensallon. 2-8 bll
parallel porls, 2-19 bit counler/tlmers, prololyplng area,
♦ Available ss bare PC boards or oeniaily assembled boards. All have sokje
mssk both sides plus ellkacreened comp nent overlay
• OS-9 for only $49?
Well, not quite. But lhaf's ell you pey lor our OS-9 Conversion Package which
lei 9 y u use I he low cos I Radio Shack CoCo version of OS4 on our ST2900
sysiem Seve S131 oil Ihe suggested list prfceof OS-9! SupporlsCcC© OS-9 end
Slandard OS-9 lotmai d sks
• CPU bare ardplusCPROM US FL EX Conversion Peckafle 129
FOC bare board S36 CPU ♦ FOC ♦ OS-9C nverslon $119
* Add $S shipplngthartdhng l$tO overseas) These prices ere In U.S. lunde. Cane
dtan orders: call or write for prices. Terms: money 0*66*. certified check, VISA.
iftU it a ueOftti* o< recfwwcal SfWenw Cota^arHft OSS >» a Cadafnar* al M«row*r» ud Mallet*)
Write tof Iree btochuis and
— ^ ^ complete price list
(7 <TAD?r^>l< 1604>2W4485
Y\ //\T\l/|/ l« *pmPac«hcTw
V TC<HNOLOOIC->
2261 E. 11th Ave. Vancouver, B.C.. Canada V5N 1Z7
68' Mem Journal
CORN
COM«*UTin 8 V • T ■ M «
HODCJLia - Bill CABD6 - KITS - A88HCBLKD & TESTED
" SttfifcftbU Modal ii IXT AfcT
20 *m> POWER SUPPLT v/fia
«/Dl«k protect r«lA7 350,00 400.00
DISK CABINET w/rmgm. k ciblaa
Ini DllVtS 200,00 250.00
■arm bo aid, a aa-aoc, a ss-soc
EM! buttoa 225,00 325.00
It«» *■*• KIT AlcT
ITS - IJmBSWT TIMER
1, 10. 100 par •• . 19.95 29.95 39,95
PB4 - lltTILLlGRIfT PORT BOFtt*
SUfla board co^cut, 39.95 114.95 139.93
DPI A - Dual PIA parallel port*
4 tMJffarad I/O* 24.95 69.95 99,93
XADR - Bxtaadad AddraaalaQ
BAUD C«D. PI A port 29,95 69.95 89,95
108 - W7TVY1 BOARD 83-SOc
v/BAOD r»ft. 64.95 149.95 199.95
P166 - 166E PBOM DISK
21, 2764 SPftOtfa 99.95 79.95 109.93
VD88 - Plraaaxa da alopsapt
2. EK blocka 99.93 64.95 114-95
XHP1 - 2764 PROM buraar adapt.
for 2716 BORMIR 19.95 —
CHKRRT Ea7baard «/Cablaat
96 kvr eiptcltlT* 249.95
TAXJR 12", 16 Mba VOfflTOft OWSCT — 149-95
AMBER - 159.93
4 NOODLE CABIEIT - aaflalabad 150,00
POVER SUPPLY a/dlak protact 250.00
♦♦»♦♦♦<♦<♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦!
Color Computer
MOPQLINX - 20 Mba Boaocbroaaj
vldao drlrar 16.00 20,00
COO POST BUS «/povar supply
5 60-90, 2 Cart 169.95 199.95
POVKl BOX 6 a«ltcb#d oat lata
traaalaat auppraaaloa 29,95 39.95
RS-232 9-avltcbad porta
for above ADD +20 . 00 *25. 00
~~Write~ for~ VRElTca talo'g
ADD S3. 00 SCh PER 0AD£R
WIS. ADD SI SALES TAX
11931 W. Btuemound Road
fA\ MILWAUKEE. WIS. 53226
(414)257-0300
68* MICRO JOURNAL
ADVERTISERS INDEX
'68' MICRO JOURNAL 51,68
AOORN COf>UTER SYSTEMS 70
ANDERSON COffUTER CONSULTANTS 68
COLOR MICRO JOURNAL 65
COMPILER EVALUATION SERVICES 52
COMPUTER EXCELLENCE INC 66
COMPUTER PUBLISHING INC 5
C0I4>UTER SYSTEMS CENTER 60,69
COMPUTER SYSTEMS CONSULTANTS, INC. ...64
DATAHX*> 1 8C
DIGITAL RESEARCH CX*f>UTERS 62,63
GIMIX, INC 3,72
GREAT PLAINS COUNTER 00 66
HAZEL W000 COMPUTER SYSTEMS 08C
INTTWL C0«P 53
LLOYD I/O 52
MEASUREMENT TECHNOLOGIES 51
MICROKEY LID 51
MICROWARE SYSTEMS OORP 1 ,4
OPTIMAL TECHNOLOGY INC 69
PERIPHERAL TECHNOLOGY 52,7!
SARD IS TECHNOLOGIES 69
SMOKE SIGNAL BROADCASTI NG 6
SOUTH EAST MED«A 54,55,56,57,58,59
SOUTHWEST TECHNICAL PROOUCTS INC. ...IPC
STAR-KI TS 68
TALBOT MICROSYSTEMS 64
T>f> SOFTWARE 67
UNI TEX 66
WESTCHESTER APPLIED BUSINESS SYSTEMS .1}
WINDRUSH MICRO SYSTEMS LIMITED 61
This Index Is provided as a reader service. The
publisher does not assume any liability for
omissions or errors.
70
'68' Micro Journal
PT69 SINGLE BOARD COMPUTER SYSTEM
OS-9 NOW AVAILABLE
The proven PT69 Single Board Computer now features OS-
9 capability Powerful performance, reliability, ♦ OS-9 —
UNBEATABLE* The PT69 is a completesystem ina compact
package
• 1 MHZ 6809E Processor
• 2 RS232 Serial Ports 16850)
• 2 8-Bit Parallel Ports (6821)
• 56K RAM 4K EPROM
• Time-of-Oay Clock (MC146818)
Pictured
System w»th Drives/System without Drives
COMPLETE SYSTEM with PT69 Board, 2
DS/DD 5Vi" 40 Track Drives Cabinet, and
Power Supply
PT 69 Board. Assembled and Tested, with
Power Supply *■ Cabinet
h PT69, Assembled and Tested Board
h Parallel Printer interface with cables
' OS-9 LI. includes edit, asm. ♦ debug
1 STAR-DOS Level 1 (Compatible with Flex)
S999 95
$399 95
$299 95
S 49 95
$250 00
$ 7500
PERIPHERAL TECHNOLOGY
"Supplying Your Computer Needs Since 1978"
3670 Lower Roswell Road
Marietta, Georgia 30067
VISA/MASTERCARD/CHECK/COD 404/973-0042
'"OS 9iS * u&demark Ol Mittowase end Motorola
>W *LE* \* atratomaiKof Technical System* Consultants
XDMS
Data Management System
Th» XDMS Data HiFngfiufnl 5y+ta<n i* *»Allablr in thr»» l*v#H. Each
livll mcludat th« XDMS nvdtun VHGEK utility ind System Document ation
for level HI. XDMS i* on* of thu moat ;o-irfu] tyvlxni iviittbli for
±90? compvr»r» antf may bw 0++4 for a witfr vanaty ol application*. XDMS
utrr% trt r»gi*t*i>*d »n our d«t«(iat* to P»r<l>lt distribution of product
announcement* and validation of u*ar upgrade* «nci main t antrc* re^uett*.
XPMB .Ltvtl I
*DK5 Level 1 con»l»t» C D£FI)f£, UPDATE tod REPORT faolllie*.
Thin l*v«l ii intvndvd a* an •»ntri l«v»l' tV*tOffi< Anci P«r«nlt* vntry *nd
reporting of o«t« on a 'tabular* ba*i*. Th* REPORT facility «u»port»
record And field «»]*ctlon« field <nvrge. torting. tine cilcutidoni,
column totals and report titling, Control i* via a Eng]J«h~hke tAftflUaS*
which it upward compatible with Uvri If. XDMS Level t , . ♦ . . al2«.?3
System Architecture
WESTCHESTER Applied Buiinaia Sytti
Poat Office Sox 1*7
Bnarcliff Manor, *.T, |OffO
XPMB Le»v»l III
L<vfl 111 mcludti all of ti«*l II piu* * *et ol u*eful DNS Utilities.
These utilities art designed to «id in trie development and ^tinttrnntt
of uifr application* jmd permit modi Tic at I On of XDMS system psfameler*.
input and output of XDMS fite«» display 4 rid modification of flit format,
graphic display of numerical data and other functions Laval HI it
intended for advance* XDMS uttrt, XDMd Laval III *?t«.99
XDMS Sytttm Documentat ion only flQ, crvdit toward purrhaael. . ,s 24.-95
^CACC: Accpuntina Gvtarn
Trie XACC General Accounting System it designed for •mall busme»t
in* Iron man ti of up to tO,000 accountt and inventory item*. Thv system
integrstes accounting function* and inventory plu* thv general ledger,
account* receivable and payable function* normally sold separately m
othvr system*. Futurn user dafinad account*. Product* lor iervlceei*
transaction*, invoicing, etc. Easily configured to noit *n v| ronitivnt*.
XACC Oanvral Accounting System (Require* XDMS, pref. Lv. (111. , t29«.9S
XACC System DoigmtdtiUdfl only l»lO, crpdlt toward purchaser . * ?4,v5
MEBTCKBBTER aVppJieeiJ Builntu 8y*tami
Post Dfftca Boi 187, Briarcltff Minor, M.V, 10910
Alt softvare Is written In wcro/oi5«itolir and runs under 6B09 FLEX 0/S.
T»r»s: Ct-»cV, Mcwwjy 0rd©r, Visa or Md»t#r<hBro-j. Shipment Mr ft cl«»*.
Add PAH t?.W (S7.90 For«l9n1. Nt H«s odd *ok>» tax. fcMrcIfy 5* or B-.
Sol**: S. t. MEDIA, l-^T>0->3f>-e^00, Consultatron: 9l4-<)4|-3552 <*v»ni),
FLEX f& o tra<J«i»ork of Technical Systeai* Consult onti, ln<-
68' Micro Journal
71
GIMIX HAS THE 6809 SYSTEM TO SUIT YOUR NEEDS
HARDWARE
All systems feature the GIMIX CLASSY CHASSIS; with a ferro-resonant constant
voltage power supply, gold plated bus connectors, and plenty of capacity for future
expansion.
Static RAM and double-density DMA floppy disk controllers are used exclusively in all
systems.
All systems are guaranteed for 2 MHz operation and include complete hardware and
software documentation, necessaiy cables, filler plates, etc.
Systems are assembled using burned-in and tested boards, and all disk drives are
tested and aligned by GIMIX.
You can add additional components to any system when ordering, or expand it in the
future by adding RAM, I/O, etc.
GIMIX lets you choose from a wide variety of options to customize your system to your
needs.
SOFTWARE
All 0S-9/FLEX systems allow you to software select either operating system.
Also included is the GMXBUG monitor and, in systems with 126K or more of RAM,
GMX-VOISK for FLEX.
All GIMIX OS-9 systems include Microwatt's Editor, Assembler, Debugger, Baxlc09,
and Runb; and the GMX versions of RMS and DO for OS-9
All GIMIX versions of OS-9 can read and write RS color computer format OS-9 disks,
as well as the Microware/GIMIX standard format.
New and exclusive with OS-9 GMX III systems is the GMX OS-9 Support ROM. a
monitor for OS-9 that includes memory diagnostics and allows the system to boot directly
from either hard disk or floppy.
A wide variety of languages and other software is available tor use with either OS-9 or
FLEX
OS-9 GMX HI/FLEX SYSTEMS (#79)
The #79 super system now Includes (in addition ta the above): the GMX
6609 CPU III. a 2S6K CMOS State RAM Board (#72>. and a 3~p*t ln-
tBAgeflt Serial I/O Premier (#11)
The GMX 6609 CPU III can perform high-speed DMA transfers fiom
memory to memory and uses memory attributes and Illegal instruction trap-
ping to protect the system and users Irom program crashes. If a user pro-
gram crashes, only mat user Is affected, other users are unaware of the
problem.
Tt* a-Porl indigent Serial I/O Board (#1 1) significant reduces system
overhead by handling routine I/O functions, freeing the host CPU for run-
ning user programs. Tnis enproves overal system performance and aAows
user terminals to be run at up to 19 2K baud
with dual 40 track OSOO dirves $5998.79
with dual 60 trad? OSDOdrrves . ,. 96196.79
with 186 dual 8" DSOO dirve system S7696.79
with 690 19MB Winchester subsystem and one 60 track (6696.79
with a 47MB Winchester subsystem and one 80 track S1 0.69879
with a 47MB plus a 6 MB removable pack Winchester
subsystem and one 80track drive , 612,396.79
TO CMtOEJt 6t MAIL: SEW) CHECK 06 MONEY ORDER OR USE YOUR VISA OR
MASlEft CHARGE tease a*o* 3 weeks tor persr* crwcks to dear US ordersadd
$5 tending n o*er is under $200 00 foreign am** add $10 ramtfing rt order is
under $200 00 Foreign orders over S2O0 00 w<l be sNpped via &nery Air Freight
COU£CT. and we wW charge no handling A* orders trust be pn^ak) In U.S. funds.
Reese note tnet foreign clocks h*e been taunt aoout B weeks lor cofadfon so we
would advise wMng irvney, or cftedd dnwn on a bank account in the U S Our bank
fcs (he Continental lino* Kaftan* Bank of CNcage, 231 S laSafte Street. CNoge, II
60693. account #73-32033
BASIC-09 and OS-9 ere trjfljn^ * Micros Sy**n» Corp and MOTOROLA, inc.
aec and UmR£X are trademarks of Tecrmfca) sir**** Graaa/ts, Inc
6EMIX. GHOST. GMX. CUSSV CHASSIS, are tradenwks of CrMlX. Inc
OS-9 GMX I / FLEX SYSTEMS #49
The 649 systems Include 64KB static RAM, #05 CPU. *43 2 pott serial
board
with dual 40 track OSDOdrrves $3998.49
with dual 60 track OSOO drives . . . , ............ S4196.49
with #66 dual 8" DSDO drive system . . , $5698.49
with 690 19MB Winchester subsystem and one 60 Hack $6696 49
OS-9 GMX II / FLEX SYSTEMS #39
Trie #39 systems include 1 28KB static RAM. m5 CPU. #43 2 port stria)
board.
with dual 40 track OSDOdrrves
with dual 80 track OSOD drives
with #68 dual 8" DSDO drive system
with #90 19MB Wmdttsler subsystem and one 60 track
$4498.39
$4696.39
96198.39
$7398.39
GIMIX DOES NOT GUARANTEE PERFORMANCE OF ANY GIMIX SYSTEMS,
BOARDS OR SOFTWARE WHEN USED WfTH OTHER MANUFACTURERS
PROOUCT.
EXPORT MOOELS: A00 $30 FOR 50Hi. POWER SUPPLIES.
GIMIX. Inc. reserves the right to cnange pricing, terms, and products
specifications at any lime without further notice,
ALL PRICES ARE FOB. CHICAGO
Contact GIMIX lor price and availability of UniFLEX and UniFLEX GMXIII
Systems.
NOTE on afl drive systems: Dual 40 hack dirves nave about 700KB of for-
matted capacity; dual 60s about 1 ,400KB. dual 8" about 2,000KB The
formatted capacity of hard disks is about 80% of the total capacity.
Want to expand your system to a
megabyte of Static RAM and 15 users?
Simply add additional memory and I/O boards Your GIMIX system can
grow with your needs, Contact us for a complete iist of available boards and
options.
#72 256KB CMOS STATIC RAM board
with batteiy back up S1896.72
664 64KB CMDS STATIC RAM board
with batteiy back up ... $528.64
#67 64KB STATIC RAM board $478.67
#1 1 3 port imemgent serial 1/0 board $498.11
#43 2pottsenafl/0board ............... $128.43
#42 2 pwt parallel I/O board ...... $88.42
695 cable sets<1 needed per pott}, spedry board $24.95
NOW
SHIPPING !
UniFLEX
GMX III Systems
Gimix
1337 WEST 37th PLACE
CHICAGO, ILLINOIS 60609
(312)927-5510 • TWX 910-221-4055
CP.I
Color Micro Journal
'68' Micro Journal
Data-Comp
S.E. Media
For Ordering C»N TOLL FflEE
1-800-338-6800
FROM - DATA-COMP, C.P.L
A Family of 100% 68XX Support Facilities
The Folks who FIRST Put FLEX 1 * on
The CoCo
Now Offeiing: *FLEX* (2 Versions)
AND 'STAR DOS PLUS+ }M
-DOS PLUS +
• Functions Same as FLEX
• Reads - writes FLEX Disks
• Run FLEX Programs
• Just type: Run "STAR-DOS' 1
• Over 300 utilities & programs
to choose from.
TSC Editor
SfefSSOOO
NOW $35.00
PLUS
ALL VERSIONS OF FLEX & STAR-DOS
Read-Write-Dir RS Disk
Run RS Basic from Both
More Free Utilities
Super 800 Support
Free Color Micro Journal 1 yr sub.
INCLUDE
+ External Terminal Program
+ Test Disk Program
+ Disk Examine & Repair Program
+ Memoty Examine Program
+ Many Many More!!!
TSC Assembler
K«9lS«.00
NOW $35.00
L
DISK SYSTEMS FOR T>* COLOR OfcTUltN
THESE PACKAGES INCH** WIVE. •COtfHHXIEfl ,
POKE* SUPfV¥ & CABINET. CABLE. AMD MANUAL ♦
• SPECIFY WHAT CONTROLLER YOU KANT JIM, OR RADIO SMAOC
PAK #1 - 1 SINGLE SIOED, DOUBLE OENSITY SYS.
PAK §2 - 2 SINGLE SIOEO, OOifiLE OENSITY SYS.
PAK #3 - I DOUBLE SIOEO, OOLBLE DENSITY STS.
PAK U - 2 OOiBLE SIDEO, OOUQlE DENSITY SYS.
PAK #5 * 2 DOUBLE SlO£D f OOLBLE DENSITY STS.
TNINLINE DRIVES, HALF SIZE
COLOR COMPUTER It 64* N7EXT. BASIC
COMTWtt.LE»$
J4M OISK CONTROLLER ■/ J0©S OR RADIO SHAOt
OISK BASIC, SPECIFY WHAT OIS* BASIC
RAOIO SHAOX DISK aWTOHXR 1.1
DISK DRIVE CABLES
CABLE FOR ONE DRIVE
CABLE FOR TWO DRIVES
64K UPGRADE W/WOD. INSTRUCT I CWS,
CO.E.F, AND COCO 2
USA ADD 2% SHIPPING
FOREIGN ADD 5% SHIPPING
SHjAOC.
MJL KEYBOARDS
$ 69,93
MICRO TEOI LOWER CASE ROM AOAPTER
1 ?4.93
1369.9?
RAOIO SHAOl BASIC 1.2
1 29.93
1639.95
RADIO S1IACK DISK BASIC 1.1
$ 29.93
1439.99
RADIO SWAOt EXT. BASIC
$ 39.93
1699.9)
SCREEN CLEAN CLEARS UP VIDEO DISTORTION
1 39.93
MEMOREX OISKS 3* SS.DO
1 24.00
1639.9)
SHIPPING INCLUDED ON DISK PRICES
OISK ORIVE CABINET I POWER SUPPLY
1 49.93
1169,93
SINGLE SIDED, DOUBLE DENSITY 3* OISK ORIVE
S199.93
DOUBLE S10ED, OOUBLE DENSITY 3* DISK ORIVE
1249.93
PPIW1ERS
1139.93
EPSON RX-BO
1323.00
EPSON RK-60TT
1373.00
1134.93
EPSON MX-100
1630 .00
EPSON FX-100
1799.00
EPSON FX-BO
1349.00
EPSON MK-70
1200.00
I T9.93
1 24.93
SERIAL BOARDS FOR PRINTER*
MX.SERIES
1119.93
FX-9ERIES
1 99.93
SPECIAL MX-lOO S550.00
♦FtEX I* a Tradflfwti ol Ttfchnicul SyMsm Contulianti
'STAR DOS ♦ iv t, Trade mt* o* STAR Kits & Daia.Comp
5900 Cassandra Smith Rd. Hixson, TN 37343
66 Micro Journal
ISSN Oi 94*5025
5900 Cassandra Smith Rd
Hrxsorv TN 37343
*
Second CtRsa Postage Paid
A< Hixson. TN
And Additional Mailing Offices
M SONi :d; I
i.fi XQ »| *d
' ' . !. 9J 3r4V hazelwood computer systems
demonstrates Its leadership In computer technology by
delivering the only computer system cepable of switching
between either the 6809 or the 68000 processor
Switching Is easily accomplished by a simple front panel
toggle switch, lne reason we can offer this exclusive
feature now. Is that when our proven 6809 processor
x^ ^» ^fc board was designed several years ago, we had the
foresight to include the bus controls that allow
processor switching.
Hazefwood Computer Systems is also ptoud to be the ffisf
S 50/SS4 bus manufacturer to license and deliver the
0S9/68K Operating System from Mlcrowmv Systems
Corporation. 0S9/68K Is the 88000 version of the popular
and powerful 0S9 Operating System. Utilizing our proven
MC 20 disk controller. 0S9/68K can conveniently share a
Winchester disk with 0S9. Changing from 8809 to 68600
operation Is as simple as switching processors and
booting the new system horn the Winchester disk.
The ease of switching processors and operating systems
makes a NELIX" dual processor system the natural
choice for software development. In addition, the
advanced design of HELIX™ equipment, emphasizing
performance and reliability, makes HELIX™ boards and
systems the best value in computing offered anywhere.
1 Megabyte dual processor HiUX" system
with 20 Megabits Winchester and floppy disk drives
System prices vary with cantiguratltm. Catt tor exact ptimg
THE SWITCH IS ON. . .
ORDER :CP-O fl — "
andard S-WJ PHJi^. ui\ncmW
C W»M"» "°' su ch » «" ile "^ Ceded * » ««' * J^nr.* "*
0S9/68K
J BSE*** ^— *-ft5
RICE
$250
HAZELWOOD COMPUTER SYSTEMS
907 East Terra, O'Fallon, MO 63366, 314-281-1055
OStt and 0$3/6SK are n»<ji»t«r*d trademarks of micfo«aro Symterrw Corp HtUX u a ir«d*marfc or H&teiwood Computer Systems
^auts^tf^
7V£I/X